mediawiki-extensions-Visual.../modules/ve
Ori Livneh 246c655b28 Add ve.track, a generic dispatch of analytic events
This patch adds ve.track; it provides a means for VisualEditor code to log
various changes of state that are of potential analytic interest. This is done
without coupling VisualEditor to a particular analytics framework by providing
a method, ve.hook.registerHandler, by which event data may be routed to a
particular analytic framework for processing and dispatch.

ve.track uses a $.Callbacks-like object for tracking analytic events which can
remember an arbitrary number of past events. This is done by maintaining an
array containing the arguments of past calls and maintaining a counter for each
callback indicating its position in the queue (i.e., how many events it has
already received.) This ensures handlers are called for each event, including
events which were fired before the handler was registered. This allows the
load-order of VE and analytics components to remain unspecified.

Change-Id: I29740fa7a0ac403e484e0acee6dfcadaf6fc4566
2013-08-03 02:51:07 +00:00
..
ce doc: @return -> @returns 2013-08-01 02:10:23 +02:00
dm Remove inserted leading whitespace 2013-08-02 19:01:22 +00:00
init Split ve.ui.Toolbar and ve.ui.SurfaceToolbar 2013-08-02 14:33:25 -07:00
test Split ve.ui.Toolbar and ve.ui.SurfaceToolbar 2013-08-02 14:33:25 -07:00
ui Split ve.ui.Toolbar and ve.ui.SurfaceToolbar 2013-08-02 14:33:25 -07:00
ve.BranchNode.js
ve.debug.js
ve.Document.js doc: Clean up spacing that caused <pre> or broken <ul>/<ol> 2013-07-25 04:02:50 +02:00
ve.Element.js doc: Add missing @static to static ve.Element methods 2013-08-02 08:49:53 +02:00
ve.EventEmitter.js
ve.Factory.js
ve.js Include element HTML in QUnit summary for diff 2013-08-02 16:10:05 +01:00
ve.LeafNode.js
ve.NamedClassFactory.js
ve.Node.js
ve.Range.js
ve.Registry.js
ve.track.js Add ve.track, a generic dispatch of analytic events 2013-08-03 02:51:07 +00:00