Prtksxna has uploaded a new change for review. https://gerrit.wikimedia.org/r/198191
Change subject: Implement the new schema for when the popups are disabled ...................................................................... Implement the new schema for when the popups are disabled Bug: T88167 Change-Id: I2185e68d3bc5b81050a32612afe6fe51833dc207 --- M resources/ext.popups.core.js M resources/ext.popups.logger.js 2 files changed, 43 insertions(+), 5 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Popups refs/changes/91/198191/1 diff --git a/resources/ext.popups.core.js b/resources/ext.popups.core.js index dbb454f..35319ce 100644 --- a/resources/ext.popups.core.js +++ b/resources/ext.popups.core.js @@ -164,12 +164,18 @@ }; mw.hook( 'wikipage.content').add( function ( $content ) { - if ( mw.popups.enabled ) { - mw.popups.$content = $content; + mw.popups.$content = $content; + var $elements = mw.popups.selectPopupElements(); - var $elements = mw.popups.selectPopupElements(); + if ( mw.popups.enabled ) { mw.popups.removeTooltips( $elements ); mw.popups.setupTriggers( $elements ); + } else { + // Events are logged even when hovercards are disabled + // See T88166 for details + $elements.on( 'click', function () { + mw.popups.logger.logLinkClick( event, $( this ) ); + } ); } } ); diff --git a/resources/ext.popups.logger.js b/resources/ext.popups.logger.js index 03b75ba..93d64d1 100644 --- a/resources/ext.popups.logger.js +++ b/resources/ext.popups.logger.js @@ -70,6 +70,33 @@ }; /** + * Called only when popups are disabled + * Called on links that would've shown popups + * + * @method logLinkClick + * @param {jquery.Event) event + * @param {jQuery.Element} $el The <a> element that was clicked + */ + logger.logLinkClick = function ( event, $el ) { + var promise, + href = $el.attr( 'href' ), + action = logger.getAction( event ); + // logger.action gets reset after log() so we need + // a local variable to track it + + logger.action = action; + logger.pageTitleHover = $el.attr( 'title' ); + promise = logger.log(); + + if ( action === 'opened in same tab' ) { + event.preventDefault(); + promise.then( function () { + window.location.href = href; + } ); + } + } + + /** * Logs the popup event as defined in the following schema- * https://meta.wikimedia.org/wiki/Schema:Popups * @@ -92,14 +119,19 @@ */ logger.getEventObject = function () { var event = { - 'duration': Math.round( logger.duration ), 'action': logger.action, 'popupEnabled': mw.popups.enabled, - 'popupDelay': mw.popups.render.POPUP_DELAY, 'pageTitleSource': mw.config.get( 'wgTitle' ), 'pageTitleHover': logger.pageTitleHover }; + // Events are logged even when hovercards are disabled + // See T88166 for details + if ( mw.popups.enabled ) { + event.popupDelay = mw.popups.render.POPUP_DELAY; + event.duration = Math.round( logger.duration ); + } + logger.reset(); return event; } -- To view, visit https://gerrit.wikimedia.org/r/198191 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I2185e68d3bc5b81050a32612afe6fe51833dc207 Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/extensions/Popups Gerrit-Branch: master Gerrit-Owner: Prtksxna <psax...@wikimedia.org> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits