mirror of
https://gerrit.wikimedia.org/r/mediawiki/extensions/WikiEditor
synced 2024-11-24 00:06:49 +00:00
Implement firstChange logging
Also, clean up the invalid logging of some prefixed schema items. Depends-On: I79e04dda6323ebb05b129bb96c0323db112bcdd0 Bug: T229079 Change-Id: I73eae25d83b8d3f73128d3b800b267a8288a76e8
This commit is contained in:
parent
7e5b71b04e
commit
a107382fc5
|
@ -5,6 +5,7 @@
|
|||
( function () {
|
||||
var editingSessionId, logEditEvent, logEditFeature,
|
||||
actionPrefixMap = {
|
||||
firstChange: 'first_change',
|
||||
saveIntent: 'save_intent',
|
||||
saveAttempt: 'save_attempt',
|
||||
saveSuccess: 'save_success',
|
||||
|
@ -83,9 +84,16 @@
|
|||
data.user_class = 'IP';
|
||||
}
|
||||
|
||||
data[ actionPrefix + '_type' ] = data.type;
|
||||
data[ actionPrefix + '_mechanism' ] = data.mechanism;
|
||||
data[ actionPrefix + '_timing' ] = data.timing === undefined ? 0 : Math.floor( data.timing );
|
||||
// Schema's kind of a mess of special properties
|
||||
if ( data.action === 'init' || data.action === 'abort' || data.action === 'saveFailure' ) {
|
||||
data[ actionPrefix + '_type' ] = data.type;
|
||||
}
|
||||
if ( data.action === 'init' || data.action === 'abort' ) {
|
||||
data[ actionPrefix + '_mechanism' ] = data.mechanism;
|
||||
}
|
||||
if ( data.action !== 'init' ) {
|
||||
data[ actionPrefix + '_timing' ] = data.timing === undefined ? 0 : Math.floor( data.timing );
|
||||
}
|
||||
/* eslint-enable camelcase */
|
||||
|
||||
// Remove renamed properties
|
||||
|
@ -130,7 +138,7 @@
|
|||
var $textarea = $( '#wpTextbox1' ),
|
||||
$editingSessionIdInput = $( '#editingStatsId' ),
|
||||
origText = $textarea.val(),
|
||||
submitting, onUnloadFallback, dialogsConfig;
|
||||
submitting, onUnloadFallback, dialogsConfig, readyTime;
|
||||
|
||||
if ( $editingSessionIdInput.length ) {
|
||||
editingSessionId = $editingSessionIdInput.val();
|
||||
|
@ -141,13 +149,18 @@
|
|||
// fall back to the timestamp when the page loaded for those
|
||||
// that don't, we just ignore them, so as to not skew the
|
||||
// results towards better-performance in those cases.
|
||||
readyTime = Date.now();
|
||||
logEditEvent( 'ready', {
|
||||
timing: Date.now() - window.performance.timing.navigationStart
|
||||
timing: readyTime - window.performance.timing.navigationStart
|
||||
} );
|
||||
$textarea.on( 'wikiEditor-toolbar-doneInitialSections', function () {
|
||||
logEditEvent( 'loaded', {
|
||||
timing: Date.now() - window.performance.timing.navigationStart
|
||||
} );
|
||||
} ).one( 'input', function () {
|
||||
logEditEvent( 'firstChange', {
|
||||
timing: Date.now() - readyTime
|
||||
} );
|
||||
} );
|
||||
}
|
||||
$textarea.closest( 'form' ).on( 'submit', function () {
|
||||
|
|
Loading…
Reference in a new issue