Page MenuHomeWickedGov Phorge

pageviews.js
No OneTemporary

Size
1 KB
Referenced Files
None
Subscribers
None

pageviews.js

/**
* @module changeListeners/pageviews
* @private
*/
/**
* Creates an instance of the pageviews change listener.
*
* When a pageview enqueued it'll be logged using the VirtualPageView schema.
* Note, it's the responsibility of Event Logging (and the UA) to
* deliver logged events.
*
* @param {Object} boundActions
* @param {EventTracker} pageviewTracker
* @return {ext.popups.ChangeListener}
*/
export default function pageviews(
boundActions, pageviewTracker
) {
return ( oldState, newState ) => {
let page, pageview;
if ( newState.pageviews && newState.pageviews.pageview && newState.pageviews.page ) {
page = newState.pageviews.page;
pageview = newState.pageviews.pageview;
pageviewTracker( 'event.VirtualPageView', {
/* eslint-disable camelcase */
source_page_id: page.id,
source_namespace: page.namespaceId,
source_title: page.namespaceId === -1 ?
mw.config.get( 'wgCanonicalSpecialPageName' ) :
mw.Title.newFromText( page.title ).getPrefixedDb(),
source_url: page.url,
page_id: pageview.page_id,
page_namespace: pageview.page_namespace,
page_title: mw.Title.newFromText( pageview.page_title ).getPrefixedDb()
/* eslint-enable camelcase */
} );
// Clear the pageview now its been logged.
boundActions.pageviewLogged();
}
};
}

File Metadata

Mime Type
text/plain
Expires
Tue, Aug 18, 20:00 (2 w, 3 d ago)
Storage Engine
local-disk
Storage Format
Raw Data
Storage Handle
13/0d/35bda6bf25a2f2b522ad61a9f58e
Default Alt Text
pageviews.js (1 KB)

Event Timeline