diff -r 346c88efed21 -r 5e2f62d02dcd wp/wp-content/plugins/portfolio/bws_menu/js/bws_tooltip.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wp/wp-content/plugins/portfolio/bws_menu/js/bws_tooltip.js Tue Jun 09 03:35:32 2015 +0200 @@ -0,0 +1,79 @@ +/** + * BWS tooltip function + * + */ +(function($) { + $(document).ready( function() { + jQuery.bwsTooltip = function( pointer_options ) { + var pointer_buttons = pointer_options['buttons']; + /* extend pointer options - add close button */ + pointer_options = $.extend(pointer_options, { + buttons: function(event, t) { + var button; + /* check and add dismiss-type buttons */ + for( var but in pointer_buttons ) { + if ( typeof pointer_buttons[ but ]['type'] != 'undefined' && pointer_buttons[ but ]['type'] == 'dismiss' && typeof pointer_buttons[ but ]['text'] != 'undefined' && pointer_buttons[ but ]['text'] != '' ) { + button += '' + pointer_buttons[ but ]['text'] + ''; + } + } + button = jQuery( button ); + button.bind('click.pointer', function () { + t.element.pointer('close'); + }); + return button; + }, + /* add ajax dismiss functionality */ + close : $.proxy(function () { + if ( pointer_options['actions']['onload'] == true ) { + $.post( ajaxurl, this ); + } + }, { + pointer: pointer_options['tooltip_id'], + action: 'dismiss-wp-pointer' + }) + }); + /* function to display pointer */ + function displayPointer( cssSelector ) { + cssSelector.pointer(pointer_options).pointer({ + pointerClass: 'wp-pointer ' + pointer_options["tooltip_id"], + content: pointer_options['content'], + position: + { + edge: pointer_options['position']['edge'], + align: pointer_options['position']['align'], + }, + }).pointer('open'); + /* display buttons that are not type of dismiss */ + for ( var but in pointer_buttons ) { + if ( typeof pointer_buttons[ but ]['type'] != 'undefined' && pointer_buttons[ but ]['type'] != 'dismiss' && typeof pointer_buttons[ but ]['text'] != 'undefined' && pointer_buttons[ but ]['text'] != '' ) { + $( '.' + pointer_options['tooltip_id'] + ' .button-secondary').first().before( '' + pointer_buttons[ but ]['text'] + '' ); + }; + } + /* adjust position of pointer */ + topPos = parseInt( $( "." + pointer_options["tooltip_id"] ).css("top") ) + parseInt( pointer_options['position']['pos-top'] ); + leftPos = parseInt( $( "." + pointer_options["tooltip_id"] ).css("left") ) + parseInt( pointer_options['position']['pos-left'] ); + if ( pointer_options['position']['align'] == 'left' ) { + leftPos += cssSelector.outerWidth()/2; + }; + $( "." + pointer_options["tooltip_id"] ).css({ "top": topPos + "px", "left": leftPos + "px" }); + /* adjust z-index if need */ + pointerZindex = parseInt( $( "." + pointer_options["tooltip_id"] ).css("z-index") ); + if ( pointerZindex != pointer_options['position']['zindex'] ) { + $( "." + pointer_options["tooltip_id"] ).css({ "z-index": pointer_options['position']['zindex'] }); + } + } + /* display pointer for the first time */ + if ( pointer_options['actions']['onload'] ) { + displayPointer( $( pointer_options['css_selector'] ) ); + } + /* display pointer when clicked on selector */ + if ( pointer_options['actions']['click'] ) { + $( pointer_options['css_selector'] ).click( function () { + displayPointer( $( this ) ); + }); + } + }; + }) +})(jQuery); \ No newline at end of file