File "rmp-preview.js"
Full Path: /home/vantageo/public_html/cache/cache/cache/.wp-cli/wp-content/plugins/responsive-menu/v4.0.0/assets/admin/js/rmp-preview.js
File size: 42.51 KB
MIME-type: text/plain
Charset: utf-8
/**
* This is preview scripts file for responsive menu customizer.
*
* @file This files defines the rmpHook object.
* @author ExpressTech System.
* @type {Object}
*
* @since 4.0.0
*
* @package responsive-menu
*/
/**
* Hooks class.
*
* @type {Object}
*
* @since 4.0.0
*/
const rmpHook = {
hooks: [ ],
isBreak: false,
/**
* Function to register the hook.
*
* @since 4.0.0
*
* @param String name Hook Name.
* @param function callback Associated function.
*/
register: function( name, callback ) {
if ( 'undefined' == typeof ( rmpHook.hooks[name] ) ) {
rmpHook.hooks[name] = [ ];
}
rmpHook.hooks[name].push( callback );
},
/**
* Function to call the hook.
*
* @since 4.0.0
*
* @param String name Hook Name.
* @param function params Paramter list.
*/
call: function( name, params ) {
if ( 'undefined' != typeof ( rmpHook.hooks[name] ) ) {
for ( let i = 0; i < rmpHook.hooks[name].length; ++i ) {
let output = rmpHook.hooks[name][i]( params );
if ( false == output ) {
rmpHook.isBreak = true;
return false;
}
return output;
}
}
return true;
}
};
/**
* Register function to color the menu elements.
*
* @since 4.0.0
*
* @param {Object} args List of inputs.
* @return {String}
*/
rmpHook.register( 'rmp_color_style', function ( args ) {
if ( ! args ) {
return false;
}
// Set the state/pseudo class.
if ( 'hover' == args.state ) {
args.outputSelector = args.outputSelector + ':hover';
} else if ( 'placeholder' == args.state ) {
args.outputSelector = args.outputSelector + '::placeholder';
} else if ( 'before' == args.state ) {
args.outputSelector = args.outputSelector + '::before';
} else if ( 'after' == args.state ) {
args.outputSelector = args.outputSelector + '::after';
}
//Prepare css string and return.
return args.outputSelector + '{ ' + args.attr + ' : ' + args.value + ';}';
} );
/**
* rmpPreview class
*
* @since 4.0.0
*
* @type {Object}
*/
window.RMP_Preview = {
iframe : '#rmp-preview-iframe',
menuId : jQuery('#menu_id').val(),
mobile_breakpoint : jQuery('#rmp-menu-mobile-breakpoint').val() + 'px',
tablet_breakpoint : jQuery('#rmp-menu-tablet-breakpoint').val() + 'px',
active_device: jQuery('#rmp_device_mode'),
menuContainer : '#rmp-container-'+ self.menuId,
onTyping: function( inputSelector, outputSelector, type, meta = '' ) {
var self = this;
var iframe = jQuery(self.iframe);
jQuery(inputSelector).on( 'keyup change paste', function() {
switch( type ) {
case 'border-radius':
var value = jQuery(this).val();
css = outputSelector + '{ border-radius : '+ ( value ) +'px;}';
self.inlineCssInjector(css);
break;
case 'section-padding':
var value = jQuery(this).val();
var is_linked = jQuery(this).parents('.rmp-input-group-control').find('.rmp-group-input-linked').hasClass('is-linked');
var attr = 'padding';
if( ! is_linked ) {
pos = jQuery(this).attr('data-input');
attr = attr + '-' + pos;
}
css = outputSelector + '{ '+ attr +' : '+ ( value ) +';}';
self.inlineCssInjector(css);
break;
case 'trigger-text':
if ( iframe.contents().find(outputSelector).length ) {
iframe.contents().find(outputSelector).html(this.value);
} else {
iframe.contents().find( '#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-box' ).before('<div class="rmp-trigger-label rmp-trigger-label-top"><span class="rmp-trigger-text">"'+ this.value + '"</span></div>')
}
break;
case 'trigger-text-open':
if ( iframe.contents().find(outputSelector).length ) {
iframe.contents().find(outputSelector).html(this.value);
} else {
iframe.contents().find( '#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-box' ).before('<div class="rmp-trigger-label rmp-trigger-label-top"><span class="rmp-trigger-text-open">"'+ this.value + '"</span></div>')
}
break;
case 'text' :
iframe.contents().find( outputSelector ).html(this.value);
break;
case 'placeholder' :
iframe.contents().find(outputSelector).attr('placeholder', this.value );
break;
case 'href' :
iframe.contents().find(outputSelector).attr('href', this.value );
break;
case 'font-size':
var unit = jQuery(this).next( '.is-unit' ).val();
if ( ! unit.length ) {
unit = 'px';
}
var value = jQuery(this).val();
css = outputSelector + '{ font-size : '+ ( value + unit ) + ';}';
if ( jQuery(this).attr( 'multi-device') ) {
css = self.mediaQuery( css );
}
self.inlineCssInjector(css);
break;
case 'width':
var unit = jQuery(this).next('.is-unit').val();
if ( ! unit ) {
unit = 'px';
}
css = outputSelector + '{ width : '+ (this.value + unit) +';}';
self.inlineCssInjector(css);
break;
case 'height':
var unit = jQuery(this).next('.is-unit').val();
if ( ! unit.length ) {
unit = 'px';
}
css = outputSelector + '{ height : '+ ( this.value + unit ) + ';}';
if ( jQuery(this).attr( 'multi-device') ) {
css = self.mediaQuery( css );
}
self.inlineCssInjector(css);
break;
case 'line-height':
var unit = jQuery(this).next('.is-unit').val();
if ( ! unit.length ) {
unit = 'px';
}
css = outputSelector + '{ line-height : '+ ( this.value + unit ) + ';}';
if ( jQuery(this).attr( 'multi-device') ) {
css = self.mediaQuery( css );
}
self.inlineCssInjector(css);
break;
case 'min-width':
var unit = jQuery(this).next('.is-unit').val();
if ( ! unit.length ) {
unit = 'px';
}
css = outputSelector + '{ min-width : '+ (this.value + unit) +';}';
self.inlineCssInjector(css);
break;
case 'max-width':
var unit = jQuery(this).next('.is-unit').val();
if ( ! unit.length ) {
unit = 'px';
}
css = outputSelector + '{ max-width : '+ (this.value + unit) +';}';
self.inlineCssInjector(css);
break;
case 'trigger-side-position':
side = jQuery('#rmp-menu-button-left-or-right').val();
unit = jQuery('#rmp-menu-button-distance-from-side-unit').val();
value = jQuery('#rmp-menu-button-distance-from-side').val();
css = outputSelector + '{ '+ side +' :'+ (value + unit) +' !important;}';
self.inlineCssInjector(css);
break;
case 'top':
value = jQuery(this).val();
var unit = jQuery(this).next('.is-unit').val();
if ( ! unit ) {
unit = 'px';
}
css = outputSelector + '{ top :' + (value + unit) +' !important;}';
self.inlineCssInjector(css);
break;
case 'bottom':
value = jQuery(this).val();
var unit = jQuery(this).next('.is-unit').val();
if ( ! unit ) {
unit = 'px';
}
css = outputSelector + '{ bottom :' + (value + unit) +' !important;}';
self.inlineCssInjector(css);
break;
case 'border-width':
var unit = jQuery(this).next('.is-unit').val();
if ( ! unit ) {
unit = 'px';
}
css = outputSelector + '{ border-width : '+ (this.value + unit) +';}';
self.inlineCssInjector(css);
break;
case 'padding':
var unit = jQuery(this).next('.is-unit').val();
if ( ! unit ) {
unit = 'px';
}
if ( meta == 'lr') {
css = outputSelector + '{ padding : 0 '+ (this.value + unit) +';}';
}
self.inlineCssInjector(css);
break;
}
});
},
bindImage : function(inputSelector, outputSelector, type ) {
var self = this;
var iframe = jQuery(self.iframe);
jQuery(document).on( 'click', inputSelector, function(e) {
e.preventDefault();
var button = jQuery(this),
custom_uploader = wp.media({
title: 'Select image',
library : {
type : 'image'
},
button: {
text: 'Use this image'
},
multiple: false,
}).on('select', function() {
var attachment = custom_uploader.state().get('selection').first().toJSON();
jQuery(e.target).prev('input.rmp-image-url-input').val(attachment.url);
jQuery(e.target).css('background-image', 'url(' + attachment.url + ')');
jQuery(e.target).append('<i class="rmp-image-picker-trash dashicons dashicons-trash" aria-hidden="true"></i>');
if ( type == 'img-src') {
iframe.contents().find(outputSelector).attr('src', attachment.url );
} else if( type == 'background' ) {
css = outputSelector + '{ background-image : url('+ attachment.url + ');}';
self.inlineCssInjector(css);
} else if( type == 'trigger-icon' ) {
if ( iframe.contents().find(outputSelector).length ) {
iframe.contents().find(outputSelector).attr('src', attachment.url );
} else {
iframe.contents().find( '#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-box .responsive-menu-pro-inner' ).hide();
iframe.contents().find( '#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-box' ).append('<img class="rmp-trigger-icon rmp-trigger-icon-inactive" src="'+ attachment.url +'"/>')
}
} else if( type == 'trigger-icon-open' ) {
if ( iframe.contents().find(outputSelector).length ) {
iframe.contents().find(outputSelector).attr('src', attachment.url );
} else {
iframe.contents().find( '#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-box .responsive-menu-pro-inner' ).hide();
iframe.contents().find( '#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-box' ).append('<img class="rmp-trigger-icon rmp-trigger-icon-active" src="'+ attachment.url +'"/>')
}
}
}).open();
});
},
toggleElements: function( inputSelector, outputSelector ) {
var self = this;
jQuery(inputSelector).on( 'change', function(e) {
e.preventDefault();
e.stopPropagation();
var iframe = jQuery(self.iframe);
if ( iframe.contents().find(outputSelector).length ) {
if ( jQuery(this).is(':checked') ) {
iframe.contents().find(outputSelector).fadeIn(500);
} else {
iframe.contents().find(outputSelector).fadeOut(500);
}
} else {
e.preventDefault();
var menuId = jQuery('#menu_id').val(),
toggle_on = jQuery(this).data('toggle');
jQuery.ajax({
url: rmpObject.ajaxURL,
data: {
'action' : 'rmp_enable_menu_item',
'ajax_nonce' : rmpObject.ajax_nonce,
'menu_id' : menuId,
'menu_element' : toggle_on,
},
type: 'POST',
dataType: 'json',
beforeSend: function(){
jQuery(this).prop('disabled' , true);
jQuery('#iframe-spinner').show();
},
error: function( error ) {
console.log('Internal Error !');
jQuery(this).prop('disabled', false);
jQuery('#iframe-spinner').hide();
},
success: function( response ) {
if ( response.data.markup ) {
iframe.contents().find( '#rmp-container-'+ self.menuId ).append(response.data.markup);
self.orderMenuElements();
}
jQuery(this).prop('disabled', false);
jQuery('#iframe-spinner').hide();
}
});
}
});
},
orderMenuElements: function() {
var list = [];
var self = this;
var iframeContents = jQuery(self.iframe).contents();
jQuery('#tab-container .item-title').each(function () {
var val = jQuery(this).text().toLocaleLowerCase().trim();
if ( val=='title') {
list.push( iframeContents.find( self.menuTitle ) );
iframeContents.find( self.menuTitle ).remove();
} else if( val=='search' ) {
list.push( iframeContents.find( self.menuSearch ) );
iframeContents.find( self.menuSearch ).remove();
} else if( val == 'menu' ) {
list.push( iframeContents.find( self.menuWrap ) );
iframeContents.find( self.menuWrap ).remove();
} else {
list.push( iframeContents.find( self.menuContents ) );
iframeContents.find( self.menuContents ).remove();
}
} );
list.forEach( function( menuElement ) {
iframeContents.find( self.menuContainer ).append( menuElement );
});
},
/**
* Function to bind the color input with option and elements.
*
* @version 4.0.0
*
* @param {String} inputSelector
* @param {String} outputSelector
* @param {String} attr
* @param {String} state
*/
bindColor: function( inputSelector, outputSelector, attr, state ) {
var self = this;
jQuery( inputSelector ).wpColorPicker( {
change: function(event, ui) {
var value = ui.color.toString();
var css = rmpHook.call(
'rmp_color_style', {
'outputSelector' : outputSelector,
'attr' : attr,
'value': value,
'state': state
} );
if ( jQuery( inputSelector ).attr( 'multi-device') ) {
css = self.mediaQuery( css );
}
self.inlineCssInjector(css);
}
});
},
mediaQuery: function( css ) {
var self = this;
self.tablet_breakpoint = jQuery('#rmp-menu-tablet-breakpoint').val() + 'px';
css = '@media screen and (max-width: '+ self.tablet_breakpoint +' ) {' + css + '}';
return css;
},
inlineCssInjector: function( css ) {
var self = this;
var iframe = jQuery(self.iframe);
var styleElement = iframe.contents().find( '#rmp-inline-css-' + self.menuId );
if ( styleElement.length ) {
styleElement.append(css);
} else {
style = '<style id="rmp-inline-css-'+ self.menuId +'">'+ css + '</style>';
iframe.contents().find('head').append(style);
}
},
changeInput: function( inputSelector, outputSelector , attr, meta = '' ) {
var self = this;
var iframe = jQuery(self.iframe);
jQuery(inputSelector).on( 'change', function(e) {
switch (attr) {
case 'height-unit':
value = jQuery(this).prev('input').val();
unit = jQuery(this).val();
css = outputSelector + '{ height : '+ ( value + unit ) + ';}';
if ( jQuery(this).attr( 'multi-device') ) {
css = self.mediaQuery( css );
}
self.inlineCssInjector(css);
break;
case 'line-height-unit':
value = jQuery(this).prev('input').val();
unit = jQuery(this).val();
css = outputSelector + '{ line-height : '+ ( value+unit ) + ';}';
if ( jQuery(this).attr( 'multi-device') ) {
css = self.mediaQuery( css );
}
self.inlineCssInjector(css);
break;
case 'width-unit':
var value = jQuery(this).prev('input').val();
var unit = jQuery(this).val();
css = outputSelector + '{ width : '+ ( value + unit) +';}';
self.inlineCssInjector(css);
break;
case 'font-size':
value = jQuery(this).prev('input').val();
unit = jQuery(this).val();
css = outputSelector + '{ font-size :' + value + unit + ' !important;}';
if ( jQuery(this).attr( 'multi-device') ) {
css = self.mediaQuery( css );
}
self.inlineCssInjector(css);
break;
case 'font-family':
value = jQuery(this).val();
css = outputSelector + '{ font-family :' + value +' !important;}';
if ( jQuery(this).attr( 'multi-device') ) {
css = self.mediaQuery( css );
}
self.inlineCssInjector(css);
break;
case 'font-weight':
value = jQuery(this).val();
css = outputSelector + '{ font-weight :' + value +';}';
self.inlineCssInjector(css);
break;
case 'padding-unit':
var unit = jQuery(this).val();
var value = jQuery(this).prev('input').val();
if ( ! unit ) {
unit = 'px';
}
if( meta == 'lr') {
css = outputSelector + '{ padding : 0 '+ (value + unit) +';}';
}
self.inlineCssInjector(css);
break;
case 'letter-spacing':
value = jQuery(this).val();
css = outputSelector + '{ letter-spacing :' + value +'px; }';
self.inlineCssInjector(css);
break;
case 'position-alignment':
if ( iframe.contents().find( outputSelector ).length ) {
position = jQuery(this).val();
var rmpTriggerBox = iframe.contents().find( '#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-box' );
iframe.contents().find( '#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-box' ).remove();
if ( position == 'top' || position == 'left' ) {
iframe.contents().find( '#rmp_menu_trigger-' + self.menuId ).append(rmpTriggerBox);
} else {
iframe.contents().find( '#rmp_menu_trigger-' + self.menuId ).prepend(rmpTriggerBox);
}
}
break;
case 'trigger-animation':
value = jQuery(this).val();
var new_class = 'rmp-menu-trigger-' + value;
all_class = iframe.contents().find( outputSelector ).attr('class').split(" ");
all_class.forEach( function( value ) {
if ( value.includes( 'rmp-menu-trigger-' ) ) {
iframe.contents().find( outputSelector ).removeClass(value);
iframe.contents().find( outputSelector ).addClass(new_class);
}
});
break;
case 'top':
var unit = jQuery(this).val();
value = jQuery(this).prev('input').val();
css = outputSelector + '{ top :' + (value + unit) +' !important;}';
self.inlineCssInjector(css);
break;
case 'trigger-side-position':
side = jQuery('#rmp-menu-button-left-or-right').val();
unit = jQuery('#rmp-menu-button-distance-from-side-unit').val();
value = jQuery('#rmp-menu-button-distance-from-side').val();
css = outputSelector + '{ '+ side +' :'+ (value + unit) +' !important;}';
self.inlineCssInjector(css);
break;
case 'trigger-side':
side = jQuery(this).val();
value = jQuery('#rmp-menu-button-distance-from-side').val();
unit = jQuery('#rmp-menu-button-distance-from-side-unit').val();
if( side == 'left' ) {
css = outputSelector + '{' + side + ':'+ ( value + unit ) +' !important;right:unset !important}';
} else {
css = outputSelector + '{' + side + ':'+ ( value + unit ) +' !important;left:unset !important}';
}
self.inlineCssInjector(css);
break;
case 'position':
value = jQuery(this).val();
css = outputSelector + '{ position :'+ value +' !important;}';
self.inlineCssInjector(css);
break;
case 'trigger-background' :
if ( jQuery(this).is(':checked') ) {
iframe.contents().find( outputSelector ).attr('style', 'background:unset !important;');
} else {
iframe.contents().find( outputSelector ).removeAttr( 'style' );
}
break;
case 'target':
var value = jQuery(this).val();
if( ! value.length ) {
value = '_self';
}
iframe.contents().find(outputSelector).attr('target', value );
break;
case 'text-align':
var value = jQuery(this).val();
iframe.contents().find( outputSelector ).css({
'text-align' : value,
} );
break;
}
});
},
init: function() {
var self = this;
//Mobile menu elements.
self.menuContainer = '#rmp-container-'+ self.menuId;
self.menuTitle = '#rmp-menu-title-' + self.menuId;
self.menuSearch = '#rmp-search-box-' + self.menuId;
self.menuWrap = '#rmp-menu-wrap-' + self.menuId;
self.menuContents = '#rmp-menu-additional-content-' + self.menuId;
//Menu container background color.
self.bindColor(
'#rmp-container-background-colour',
'#rmp-container-' + self.menuId ,
'background',
''
);
//Menu background.
self.bindColor(
'#rmp-menu-background-colour',
'#rmp-menu-wrap-' + self.menuId ,
'background'
);
//Menu title section background color.
self.bindColor(
'#rmp-menu-title-background-colour',
'#rmp-menu-title-' + self.menuId ,
'background'
);
//Menu title section background hover color.
self.bindColor(
'#rmp-menu-title-background-hover-colour',
'#rmp-menu-title-' + self.menuId ,
'background',
'hover'
);
// Menu item trigger
self.bindColor(
'#rmp-menu-sub-arrow-shape-colour',
'#rmp-menu-wrap-' + self.menuId + ' .rmp-menu-subarrow',
'color'
);
self.bindColor(
'#rmp-menu-sub-arrow-shape-hover-colour',
'#rmp-menu-wrap-' + self.menuId + ' .rmp-menu-subarrow',
'color',
'hover'
);
self.bindColor(
'#rmp-menu-sub-arrow-shape-colour-active',
'#rmp-menu-wrap-' + self.menuId + ' .rmp-menu-subarrow.rmp-menu-subarrow-active',
'color'
);
self.bindColor(
'#rmp-menu-sub-arrow-shape-hover-colour-active',
'#rmp-menu-wrap-' + self.menuId + ' .rmp-menu-subarrow.rmp-menu-subarrow-active',
'color',
'hover'
);
self.bindColor(
'#rmp-menu-sub-arrow-border-colour',
'#rmp-menu-wrap-' + self.menuId + ' .rmp-menu-subarrow',
'border-color'
);
self.bindColor(
'#rmp-menu-sub-arrow-border-hover-colour',
'#rmp-menu-wrap-' + self.menuId + ' .rmp-menu-subarrow',
'border-color',
'hover'
);
self.bindColor(
'#rmp-menu-sub-arrow-border-colour-active',
'#rmp-menu-wrap-' + self.menuId + ' .rmp-menu-subarrow-active',
'border-color'
);
self.bindColor(
'#rmp-menu-sub-arrow-border-hover-colour-active',
'#rmp-menu-wrap-' + self.menuId + ' .rmp-menu-subarrow-active',
'border-color',
'hover'
);
self.bindColor(
'#rmp-menu-sub-arrow-background-color',
'#rmp-menu-wrap-' + self.menuId + ' .rmp-menu-subarrow',
'background'
);
self.bindColor(
'#rmp-menu-sub-arrow-background-hover-colour',
'#rmp-menu-wrap-' + self.menuId + ' .rmp-menu-subarrow',
'background',
'hover'
);
self.bindColor(
'#rmp-menu-sub-arrow-background-colour-active',
'#rmp-menu-wrap-' + self.menuId + ' .rmp-menu-subarrow.rmp-menu-subarrow-active',
'background'
);
self.bindColor(
'#rmp-menu-sub-arrow-background-hover-colour-active',
'#rmp-menu-wrap-' + self.menuId + ' .rmp-menu-subarrow.rmp-menu-subarrow-active',
'background',
'hover'
);
//Legacy options
self.bindColor(
'#rmp-submenu-sub-arrow-shape-colour',
'#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-subarrow',
'color'
);
self.bindColor(
'#rmp-submenu-sub-arrow-shape-colour-hover',
'#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-subarrow',
'color',
'hover'
);
self.bindColor(
'#rmp-submenu-sub-arrow-shape-colour-active',
'#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-subarrow-active',
'color'
);
self.bindColor(
'#rmp-submenu-sub-arrow-shape-hover-colour-active',
'#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-subarrow-active',
'color',
'hover'
);
self.bindColor(
'#rmp-submenu-sub-arrow-border-colour',
'#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-subarrow',
'border-color'
);
self.bindColor(
'#rmp-submenu-sub-arrow-border-hover-colour',
'#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-subarrow',
'border-color',
'hover'
);
self.bindColor(
'#rmp-submenu-sub-arrow-border-colour-active',
'#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-subarrow.rmp-menu-subarrow-active',
'border-color'
);
self.bindColor(
'#rmp-submenu-sub-arrow-border-hover-colour-active',
'#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-subarrow-active',
'border-color',
'hover'
);
self.bindColor(
'#rmp-submenu-sub-arrow-background-color',
'#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-subarrow',
'background'
);
self.bindColor(
'#rmp-submenu-sub-arrow-background-hover-colour',
'#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-subarrow',
'background',
'hover'
);
self.bindColor(
'#rmp-submenu-sub-arrow-background-colour-active',
'#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-subarrow-active',
'background'
);
self.bindColor(
'#rmp-submenu-sub-arrow-background-hover-colour-active',
'#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-subarrow-active',
'background',
'hover'
);
self.bindColor('#rmp-menu-title-colour', '#rmp-menu-title-' + self.menuId + ' > a' , 'color');
self.bindColor('#rmp-menu-title-hover-colour', '#rmp-menu-title-' + self.menuId + ' > a' , 'color','hover');
self.bindColor('#rmp-menu-additional-content-color', '#rmp-container-'+ self.menuId + ' #rmp-menu-additional-content-' + self.menuId , 'color');
self.bindColor('#rmp-menu-search-box-text-colour', '#rmp-container-'+ self.menuId + ' #rmp-search-box-'+ self.menuId + ' .rmp-search-box' , 'color');
self.bindColor('#rmp-menu-search-box-background-colour', '#rmp-search-box-'+ self.menuId + ' .rmp-search-box' , 'background');
self.bindColor('#rmp-menu-search-box-border-colour', '#rmp-search-box-'+ self.menuId + ' .rmp-search-box' , 'border-color');
self.bindColor('#rmp-menu-search-box-placeholder-colour', '#rmp-search-box-'+ self.menuId + ' .rmp-search-box' , 'color', 'placeholder');
self.changeInput('#rmp-menu-title-font-weight', '#rmp-menu-title-' + self.menuId +' #rmp-menu-title-link', 'font-weight' );
self.changeInput('#rmp-menu-title-font-family', '#rmp-menu-title-' + self.menuId +' #rmp-menu-title-link', 'font-family' );
//Menu Trigger
self.bindColor('#rmp-menu-button-background-colour', '#rmp_menu_trigger-' + self.menuId , 'background', '' );
self.bindColor('#rmp-menu-button-background-colour-hover', '#rmp_menu_trigger-' + self.menuId , 'background-color', 'hover' );
self.bindColor('#rmp-menu-button-background-colour-active', '#rmp_menu_trigger-' + self.menuId + '.is-active' , 'background', '' );
self.bindColor('#rmp-menu-button-line-colour', '#rmp_menu_trigger-' + self.menuId + ' .responsive-menu-pro-inner,#rmp_menu_trigger-' + self.menuId +' .responsive-menu-pro-inner:after,#rmp_menu_trigger-' + self.menuId +' .responsive-menu-pro-inner:before', 'background', '' );
self.bindColor('#rmp-menu-button-line-colour-active', '.is-active#rmp_menu_trigger-' + self.menuId + ' .responsive-menu-pro-inner,.is-active#rmp_menu_trigger-' + self.menuId +' .responsive-menu-pro-inner:after,.is-active#rmp_menu_trigger-' + self.menuId +' .responsive-menu-pro-inner:before', 'background','' );
self.bindColor('#rmp-menu-button-line-colour-hover', '#rmp_menu_trigger-' + self.menuId + ':hover .responsive-menu-pro-inner,#rmp_menu_trigger-' + self.menuId +':hover .responsive-menu-pro-inner:after,#rmp_menu_trigger-' + self.menuId +':hover .responsive-menu-pro-inner:before', 'background','' );
self.bindColor('#rmp-menu-button-text-colour', '#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-label', 'color' );
self.onTyping('#rmp-menu-toggle-border-radius','#rmp_menu_trigger-' + self.menuId ,'border-radius' );
self.onTyping('.rmp-menu-container-padding','#rmp-container-'+ self.menuId , 'section-padding' );
self.onTyping('.rmp-menu-title-section-padding','#rmp-menu-title-'+ self.menuId , 'section-padding' );
self.onTyping('.rmp-menu-section-padding','#rmp-menu-wrap-'+ self.menuId , 'section-padding' );
self.onTyping('.rmp-menu-search-section-padding','#rmp-search-box-'+ self.menuId , 'section-padding' );
self.onTyping('.rmp-menu-additional-section-padding','#rmp-menu-additional-content-'+ self.menuId , 'section-padding' );
// CONTENT BASED ELEMENTS.
self.onTyping('#rmp-menu-search-box-height','#rmp-search-box-'+ self.menuId + ' .rmp-search-box','height' );
self.onTyping('#rmp-menu-search-box-border-radius','#rmp-search-box-'+ self.menuId + ' .rmp-search-box','border-radius' );
self.onTyping('#rmp-menu-menu-title','#rmp-menu-title-'+ self.menuId +' #rmp-menu-title-link span', 'text' );
self.onTyping('#rmp-menu-additional-content','#rmp-menu-additional-content-'+ self.menuId,'text');
self.onTyping('#rmp-menu-search-box-text','#rmp-search-box-'+ self.menuId + ' .rmp-search-box','placeholder');
self.onTyping('#rmp-menu-title-link', '#rmp-menu-title-' + self.menuId + ' #rmp-menu-title-link','href');
self.onTyping('#rmp-menu-title-image-alt', '#rmp-menu-title-' + self.menuId + ' .rmp-menu-title-image','alt');
self.onTyping('#rmp-menu-title-font-size', '#rmp-menu-title-' + self.menuId + ' > a','font-size');
self.onTyping('#rmp-menu-title-image-width', '#rmp-menu-title-' + self.menuId + ' .rmp-menu-title-image','width');
self.onTyping('#rmp-menu-title-image-height', '#rmp-menu-title-' + self.menuId + ' .rmp-menu-title-image','height');
self.bindImage('#rmp-menu-title-image-selector', '#rmp-menu-title-' + self.menuId + ' .rmp-menu-title-image', 'img-src' );
self.onTyping('#rmp-menu-additional-content-font-size', '#rmp-menu-additional-content-' + self.menuId ,'font-size' );
self.onTyping('#rmp-menu-container-width', '#rmp-container-'+ self.menuId, 'width' );
self.onTyping('#rmp-menu-container-min-width', '#rmp-container-'+ self.menuId, 'min-width' );
self.onTyping('#rmp-menu-container-max-width', '#rmp-container-'+ self.menuId, 'max-width' );
self.onTyping('#rmp-menu-button-image-alt-when-clicked', '#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-icon-active', 'alt' );
self.onTyping('#rmp-menu-button-image-alt', '#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-icon-inactive', 'alt' );
self.onTyping('#rmp-menu-button-title-open', '#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-text-open', 'trigger-text-open' );
self.onTyping('#rmp-menu-button-title', '#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-text', 'trigger-text' );
self.onTyping('#rmp-menu-button-font-size', '#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-label', 'font-size' );
self.onTyping('#rmp-menu-button-title-line-height', '#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-label', 'line-height' );
//Menu Trigger
self.onTyping(
'#rmp-menu-button-width',
'#rmp_menu_trigger-' + self.menuId,
'width'
);
self.onTyping(
'#rmp-menu-button-height',
'#rmp_menu_trigger-' + self.menuId ,
'height'
);
self.onTyping(
'#rmp-menu-button-line-width',
'#rmp_menu_trigger-' + self.menuId +' .responsive-menu-pro-inner',
'width'
);
self.onTyping(
'#rmp-menu-button-line-width',
'#rmp_menu_trigger-' + self.menuId +' .responsive-menu-pro-inner:after',
'width'
);
self.onTyping(
'#rmp-menu-button-line-width',
'#rmp_menu_trigger-' + self.menuId +' .responsive-menu-pro-inner:before',
'width'
);
self.onTyping(
'#rmp-menu-button-line-height',
'#rmp_menu_trigger-' + self.menuId +' .responsive-menu-pro-inner',
'height'
);
self.onTyping(
'#rmp-menu-button-line-margin',
'#rmp_menu_trigger-' + self.menuId +' .responsive-menu-pro-inner:after',
'bottom'
);
self.onTyping(
'#rmp-menu-button-line-margin',
'#rmp_menu_trigger-' + self.menuId +' .responsive-menu-pro-inner:before',
'top'
);
self.onTyping(
'#rmp-menu-button-line-height',
'#rmp_menu_trigger-' + self.menuId +' .responsive-menu-pro-inner:after',
'height'
);
self.onTyping(
'#rmp-menu-button-line-height',
'#rmp_menu_trigger-' + self.menuId +' .responsive-menu-pro-inner:before',
'height'
);
self.bindImage('#rmp-button-title-image', '#rmp-menu-title-' + self.menuId + ' .rmp-menu-title-image', 'img-src' );
self.bindImage('#rmp-menu-background-image-selector', '#rmp-container-'+ self.menuId, 'background' );
self.bindImage('#rmp-menu-button-image-when-clicked-selector', '#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-icon-active', 'trigger-icon-open' );
self.bindImage('#rmp-menu-button-image-selector', '#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-icon-inactive', 'trigger-icon' );
self.changeInput(
'#rmp-menu-title-link-location',
'#rmp-menu-title-' + self.menuId + ' #rmp-menu-title-link',
'target'
);
self.changeInput('.rmp-menu-title-alignment', '#rmp-menu-title-' + self.menuId ,'text-align');
self.changeInput('.rmp-menu-additional-content-alignment', '#rmp-menu-additional-content-'+ self.menuId,'text-align');
//Top menu item links
self.onTyping(
'#rmp-menu-links-height',
'#rmp-menu-wrap-' + self.menuId + ' .rmp-menu-item-link',
'height'
);
self.onTyping(
'#rmp-menu-links-line-height',
'#rmp-menu-wrap-' + self.menuId + ' .rmp-menu-item-link',
'line-height'
);
self.onTyping(
'#rmp-menu-font-size',
'#rmp-menu-wrap-' + self.menuId + ' .rmp-menu-item-link',
'font-size'
);
self.changeInput('#rmp-menu-font', '#rmp-container-' + self.menuId +' #rmp-menu-wrap-' + self.menuId + ' .rmp-menu-top-level-item .rmp-menu-item-link', 'font-family' );
self.changeInput('#rmp-menu-font-weight', '#rmp-container-' + self.menuId +' #rmp-menu-wrap-' + self.menuId + ' .rmp-menu-top-level-item .rmp-menu-item-link', 'font-weight' );
self.changeInput('.rmp-menu-text-alignment', '#rmp-container-' + self.menuId +' #rmp-menu-wrap-' + self.menuId + ' .rmp-menu-top-level-item .rmp-menu-item-link', 'text-align' );
self.changeInput(
'#rmp-menu-text-letter-spacing',
'#rmp-menu-wrap-' + self.menuId + ' .rmp-menu-item-link',
'letter-spacing'
);
self.onTyping(
'#rmp-menu-depth-level-0',
'#rmp-menu-wrap-' + self.menuId + ' .rmp-menu-item-link',
'padding',
'lr'
);
self.onTyping(
'#rmp-menu-border-width',
'#rmp-menu-wrap-' + self.menuId + ' .rmp-menu-item-link',
'border-width'
);
self.onTyping(
'#rmp-menu-sub-arrow-border-width',
'#rmp-menu-wrap-' + self.menuId + ' .rmp-menu-subarrow',
'border-width'
);
self.onTyping(
'#rmp-submenu-sub-arrow-border-width',
'#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-subarrow',
'border-width'
);
self.bindColor('#rmp-menu-link-color', '#rmp-menu-wrap-' + self.menuId + ' .rmp-menu-item-link', 'color');
self.bindColor('#rmp-menu-link-hover-color', ' #rmp-menu-wrap-' + self.menuId + ' .rmp-menu-item-link', 'color','hover');
self.bindColor('#rmp-menu-current-link-active-color', '#rmp-menu-wrap-' + self.menuId + ' .rmp-menu-current-item .rmp-menu-item-link', 'color');
self.bindColor('#rmp-menu-current-link-active-hover-color', ' #rmp-menu-wrap-' + self.menuId + ' .rmp-menu-current-item .rmp-menu-item-link', 'color','hover');
self.bindColor('#rmp-menu-item-background-colour', ' #rmp-menu-wrap-' + self.menuId + ' .rmp-menu-item-link', 'background');
self.bindColor('#rmp-menu-item-background-hover-color', ' #rmp-menu-wrap-' + self.menuId + ' .rmp-menu-item-link', 'background','hover');
self.bindColor('#rmp-menu-current-item-background-color', ' #rmp-menu-wrap-' + self.menuId + ' .rmp-menu-current-item .rmp-menu-item-link', 'background');
self.bindColor('#rmp-menu-current-item-background-hover-color', ' #rmp-menu-wrap-' + self.menuId + ' .rmp-menu-current-item .rmp-menu-item-link', 'background','hover');
self.bindColor('#rmp-menu-item-border-colour', ' #rmp-menu-wrap-' + self.menuId + ' .rmp-menu-item-link', 'border-color');
self.bindColor('#rmp-menu-item-border-colour-hover', ' #rmp-menu-wrap-' + self.menuId + ' .rmp-menu-item-link', 'border-color', 'hover' );
self.bindColor('#rmp-menu-current-item-border-hover-colour', ' #rmp-menu-wrap-' + self.menuId + ' .rmp-menu-current-item .rmp-menu-item-link', 'border-color', 'hover' );
self.bindColor('#rmp-menu-item-border-colour-active', ' #rmp-menu-wrap-' + self.menuId + ' .rmp-menu-current-item .rmp-menu-item-link', 'border-color');
// Trigger of top level
self.bindImage('#rmp-menu-inactive-arrow-image-selector', '#rmp-container-' + self.menuId +' #rmp-menu-wrap-' + self.menuId + ' .rmp-menu-top-level-item .rmp-menu-subarrow', 'background' );
self.bindImage('#rmp-menu-active-arrow-image-selector', '#rmp-container-' + self.menuId +' #rmp-menu-wrap-' + self.menuId + ' .rmp-menu-top-level-item .rmp-menu-subarrow-active', 'background' );
self.onTyping(
'#rmp-submenu-arrow-height',
'#rmp-menu-wrap-' + self.menuId + ' .rmp-menu-subarrow',
'height'
);
self.onTyping(
'#rmp-submenu-arrow-width',
'#rmp-menu-wrap-' + self.menuId + ' .rmp-menu-subarrow',
'width'
);
self.onTyping(
'#rmp-submenu-child-arrow-height',
'#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-subarrow',
'height'
);
self.onTyping(
'#rmp-submenu-child-arrow-width',
'#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-subarrow',
'width'
);
self.changeInput(
'#rmp-submenu-child-arrow-width-unit',
'#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-subarrow',
'width-unit'
);
self.changeInput(
'#rmp-submenu-child-arrow-height-unit',
'#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-subarrow',
'height-unit'
);
self.bindColor('#rmp-menu-sub-arrow-background-color', ' #rmp-menu-wrap-' + self.menuId + ' .rmp-menu-top-level-item .rmp-menu-subarrow', 'background');
self.bindColor('#rmp-menu-sub-arrow-background-hover-colour', ' #rmp-menu-wrap-' + self.menuId + ' .rmp-menu-top-level-item .rmp-menu-subarrow', 'background','hover');
self.bindColor('#rmp-menu-sub-arrow-background-colour-active', ' #rmp-menu-wrap-' + self.menuId + ' .rmp-menu-top-level-item .rmp-menu-subarrow-active', 'background');
self.bindColor('#rmp-menu-sub-arrow-background-hover-colour-active', ' #rmp-menu-wrap-' + self.menuId + ' .rmp-menu-top-level-item .rmp-menu-subarrow-active', 'background','hover' );
//sub menu item links
self.onTyping(
'#rmp-submenu-links-height',
'#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-item-link',
'height'
);
self.changeInput(
'#rmp-submenu-links-height-unit',
'#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-item-link',
'height-unit'
);
self.onTyping(
'#rmp-submenu-links-line-height',
'#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-item-link',
'line-height'
);
self.changeInput(
'#rmp-submenu-links-line-height-unit',
'#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-item-link',
'line-height-unit'
);
self.onTyping(
'#rmp-submenu-font-size',
'#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-item-link',
'font-size'
);
self.changeInput(
'#rmp-submenu-font',
'#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-item-link',
'font-family'
);
self.changeInput(
'#rmp-submenu-font-weight',
'#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-item-link',
'font-weight'
);
self.changeInput(
'.rmp-submenu-text-alignment',
'#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-item-link',
'text-align'
);
self.changeInput(
'#rmp-submenu-text-letter-spacing',
'#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-item-link',
'letter-spacing'
);
self.onTyping(
'#rmp-submenu-border-width',
'#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-item-link',
'border-width'
);
self.bindColor(
'#rmp-submenu-item-border-colour',
'#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-item-link',
'border-color'
);
self.bindColor(
'#rmp-submenu-item-border-colour-hover',
'#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-item-link',
'border-color',
'hover'
);
self.bindColor(
'#rmp-submenu-item-border-colour-active',
'#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-current-item .rmp-menu-item-link',
'border-color',
);
self.bindColor(
'#rmp-submenu-current-item-border-hover-colour',
'#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-current-item .rmp-menu-item-link',
'border-color',
'hover'
);
self.bindColor(
'#rmp-submenu-link-color',
'#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-item-link',
'color'
);
self.bindColor(
'#rmp-submenu-link-hover-color',
'#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-item-link',
'color',
'hover'
);
self.bindColor(
'#rmp-submenu-link-colour-active',
'#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-current-item .rmp-menu-item-link',
'color'
);
self.bindColor(
'#rmp-submenu-link-active-hover-color',
'#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-current-item .rmp-menu-item-link',
'color',
'hover'
);
self.bindColor(
'#rmp-submenu-item-background-color',
'#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-item-link',
'background'
);
self.bindColor(
'#rmp-submenu-item-background-hover-color',
' #rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-item-link',
'background',
'hover'
);
self.bindColor(
'#rmp-submenu-current-item-background-color',
'#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-current-item .rmp-menu-item-link',
'background'
);
self.bindColor(
'#rmp-submenu-current-item-background-hover-color',
'#rmp-menu-wrap-' + self.menuId + ' .rmp-submenu .rmp-menu-current-item .rmp-menu-item-link',
'background',
'hover'
);
//Menu Trigger
self.changeInput('.rmp-menu-button-transparent-background', '#rmp_menu_trigger-' + self.menuId , 'background','');
self.changeInput('#rmp-menu-button-position-type', '#rmp_menu_trigger-' + self.menuId , 'position');
self.changeInput('.rmp-menu-button-left-or-right', '#rmp_menu_trigger-' + self.menuId , 'trigger-side');
self.onTyping('#rmp-menu-button-distance-from-side', '#rmp_menu_trigger-' + self.menuId , 'trigger-side-position');
self.onTyping('#rmp-menu-button-top', '#rmp_menu_trigger-' + self.menuId , 'top');
self.changeInput('#rmp-menu-button-click-animation', '#rmp_menu_trigger-' + self.menuId , 'trigger-animation');
self.changeInput('#rmp-menu-button-font', '#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-label', 'font-family' );
self.changeInput('.rmp-menu-button-title-position', '#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-label', 'position-alignment' );
jQuery("#rmp-menu-button-font-icon").focus(function() {
var outputSelector = '#rmp_menu_trigger-' + self.menuId + ' span.rmp-trigger-icon-inactive';
value = jQuery(this).val();
var iframe = jQuery(self.iframe);
if ( iframe.contents().find(outputSelector).length ) {
iframe.contents().find( outputSelector ).addClass(value);
} else {
iframe.contents().find( '#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-box img.rmp-trigger-icon' ).hide();
iframe.contents().find( '#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-box .responsive-menu-pro-inner' ).hide();
iframe.contents().find( '#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-box' ).append('<span class="rmp-trigger-icon rmp-trigger-icon-inactive ' + value +'"></span>')
}
});
jQuery("#rmp-menu-button-font-icon-when-clicked").focus(function() {
var outputSelector = '#rmp_menu_trigger-' + self.menuId + ' span.rmp-trigger-icon-active';
value = jQuery(this).val();
var iframe = jQuery(self.iframe);
if ( iframe.contents().find(outputSelector).length ) {
iframe.contents().find( outputSelector ).addClass(value);
} else {
iframe.contents().find( '#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-box img.rmp-trigger-icon' ).hide();
iframe.contents().find( '#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-box .responsive-menu-pro-inner' ).hide();
iframe.contents().find( '#rmp_menu_trigger-' + self.menuId + ' .rmp-trigger-box' ).append('<span class="rmp-trigger-icon rmp-trigger-icon-active ' + value +'"></span>')
}
});
// Ordering elements
self.toggleElements('#rmp-item-order-title','#rmp-menu-title-' + self.menuId );
self.toggleElements('#rmp-item-order-additional-content','#rmp-menu-additional-content-' + self.menuId );
self.toggleElements('#rmp-item-order-search','#rmp-search-box-'+ self.menuId);
self.toggleElements('#rmp-item-order-menu','#rmp-menu-wrap-' + self.menuId );
jQuery( '#rmp-menu-ordering-items' ).sortable( {
update: function( event, ui ) {
self.orderMenuElements();
}
});
}
};
RMP_Preview.init();