File "qtip.js"
Full Path: /home/siazco/grocery.siazco.se/wp-content/plugins/kapee-extensions/inc/admin/redux-core/assets/js/redux/qtip.js
File size: 4.58 KB
MIME-type: text/plain
Charset: utf-8
/* global redux */
(function( $ ) {
'use strict';
$.redux = $.redux || {};
$.redux.initQtip = function() {
var classes;
// Shadow.
var shadow = '';
var tipShadow = redux.optName.args.hints.tip_style.shadow;
// Color.
var color = '';
var tipColor = redux.optName.args.hints.tip_style.color;
// Rounded.
var rounded = '';
var tipRounded = redux.optName.args.hints.tip_style.rounded;
// Tip style.
var style = '';
var tipStyle = redux.optName.args.hints.tip_style.style;
// Get position data.
var myPos = redux.optName.args.hints.tip_position.my;
var atPos = redux.optName.args.hints.tip_position.at;
// Tooltip trigger action.
var showEvent = redux.optName.args.hints.tip_effect.show.event;
var hideEvent = redux.optName.args.hints.tip_effect.hide.event;
// Tip show effect.
var tipShowEffect = redux.optName.args.hints.tip_effect.show.effect;
var tipShowDuration = redux.optName.args.hints.tip_effect.show.duration;
// Tip hide effect.
var tipHideEffect = redux.optName.args.hints.tip_effect.hide.effect;
var tipHideDuration = redux.optName.args.hints.tip_effect.hide.duration;
if ( $().qtip ) {
if ( true === tipShadow ) {
shadow = 'qtip-shadow';
}
if ( '' !== tipColor ) {
color = 'qtip-' + tipColor;
}
if ( true === tipRounded ) {
rounded = 'qtip-rounded';
}
if ( '' !== tipStyle ) {
style = 'qtip-' + tipStyle;
}
classes = shadow + ',' + color + ',' + rounded + ',' + style + ',redux-qtip';
classes = classes.replace( /,/g, ' ' );
// Gotta be lowercase, and in proper format.
myPos = $.redux.verifyPos( myPos.toLowerCase(), true );
atPos = $.redux.verifyPos( atPos.toLowerCase(), false );
$( 'div.redux-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.redux-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
}
}
);
}
);
}
};
$.redux.verifyPos = function( s, b ) {
var split;
var paramOne;
var paramTwo;
// Trim off spaces.
s = s.replace( /^\s+|\s+$/gm, '' );
// Position value is blank, set the default.
if ( '' === s || - 1 === s.search( ' ' ) ) {
if ( true === b ) {
return 'top left';
} else {
return 'bottom right';
}
}
// Split string into array.
split = s.split( ' ' );
// Evaluate first string. Must be top, center, or bottom.
paramOne = b ? 'top' : 'bottom';
if ( 'top' === split[0] || 'center' === split[0] || 'bottom' === split[0] ) {
paramOne = split[0];
}
// Evaluate second string. Must be left, center, or right.
paramTwo = b ? 'left' : 'right';
if ( 'left' === split[1] || 'center' === split[1] || 'right' === split[1] ) {
paramTwo = split[1];
}
return paramOne + ' ' + paramTwo;
};
})( jQuery );