function menuToolTip(selector, placement) { const onGoingBig = function onGoingBig() { const isGoing = ($('#powerTip').data('powerTip-open') !== undefined && $('#powerTip').data('powerTip-open') === 'yes'); Logger.log(['onBig main menu called', isGoing]); if (!isGoing) { $('#powerTip').data('powerTip-open', 'yes').css('width:300px'); const $elements = $(selector); $elements.powerTip({ // $(selector).powerTip({ placement, smartPlacement:true, // placement, // eslint-disable-line object-shorthand fadeInTime: 0, fadeOutTime: 0, offset: 10, }); $(selector).on({ // about to render tooltip - give it the content powerTipPreRender: function powerTipPreRender() { $(this).data('powertip-open', 'yes'); const text64 = $(this).attr('data-tooltip'); const html = base64.decode(text64); Logger.log('menu tooltip powerPreTipRender', html, text64, this); $(this).data('powertip', html); }, powerTipRender : function PowerTipRender() { $('#powerTip').css('max-width', '400px'); $('#powerTip').css('white-space', 'normal'); Logger.log(['menu tooltip open', this, $('#powerTip')]); }, powerTipOpen : function powerTipOpen() { Logger.log(['menu tooltip open', this, $('#powerTip')]); }, }); } }; const onGoingSmall = function onGoingSmall() { Logger.log(['onSmall main menu called']); $(selector).powerTip('destroy'); $('#powerTip').data('powerTip-open', 'no'); }; OnBigSmall.register(onGoingBig, onGoingSmall); }
const initialize = function init(selector) { const columns = $(selector); let currentHeight; let tallestcolumn = 0; let isBig = false; const setColumns = function setColumns(pcolumns) { pcolumns.each((unused_ix, element) => { // eslint-diable no-unused-vars currentHeight = Math.max(element.scrollHeight, element.clientHeight); Logger.log([`colequal currentHeight `, currentHeight]); if (currentHeight > tallestcolumn) { tallestcolumn = currentHeight; } }); columns.height(tallestcolumn); }; const resetColumns = function resetColumns(pcolumns) { pcolumns.each(() => { $(this).css('height', ''); }); }; const onGoingLarge = () => { Logger.log('equalHeight::GOING MEDIUM screen entered'); if (!isBig) { setColumns(columns); isBig = true; } }; const onGoingSmall = () => { Logger.log('equalHeight::GOING SMALL screen entered'); if (isBig) { resetColumns(columns); isBig = false; } }; OnBigSmall.register(onGoingLarge, onGoingSmall); };
module.exports = function(selector, placement) { onBigSmall.register( // going big - turn on tooltip ( but only once - this even is bouncy) // use a flag in the #powerTip elements data entry to record starting function(){ var isGoing = ($('#powerTip').data('powerTip-open') !== undefined && $('#powerTip').data('powerTip-open')=="yes" ) Logger.log(["onBig main menu called", isGoing]) if( ! isGoing ){ $('#powerTip').data('powerTip-open','yes').css("width:300px") $(selector).powerTip({ placement: placement, fadeInTime: 0, fadeOutTime: 0 }) $(selector).on({ // about to render tooltip - give it the content powerTipPreRender: function() { $(this).data('powertip-open','yes') var text64 = $(this).attr('data-tooltip') var html = base64.decode(text64) Logger.log('menu tooltip powerPreTipRender', html, text64, this); $(this).data('powertip' , html); }, powerTipRender : function(){ var el = $("#powerTip").css("max-width","400px") $("#powerTip").css("white-space","normal") // $("#powerTip").css("display","table") // $("#powerTip").css("word-wrap","break-word") // $("#powerTip p").css("display","block") // $("#powerTip p").css("float","left") // $("#powerTip p").css("width","300px") // $("#powerTip p").css("word-wrap","break-word") // var w = el.width() // var h = el.height() // Logger.log(["render", w, h]) // if( w/h > 3){ // w = w /2 // h = h * 2 // } // Logger.log(["render", w, h]) // el.width(w) // el.height(h) Logger.log(["menu tooltip open", this, $("#powerTip")]) }, powerTipOpen : function(){ Logger.log(["menu tooltip open", this, $("#powerTip")]) } }) } }, // going small - turn off tooltip function(){ Logger.log(["onSmall main menu called"]) $(selector).powerTip('destroy') $('#powerTip').data('powerTip-open','no') } ) }