discourse/app/assets/javascripts/discourse/lib/page_tracker.js
riking 4699136d83 Fix this/self usage warning
To clarify the intent of using 'this' inside the closure, it is first assigned to a variable.
2014-03-18 19:09:49 -07:00

32 lines
821 B
JavaScript

/**
Called whenever the "page" changes. This allows us to set up analytics
and other tracking.
To get notified when the page changes, you can install a hook like so:
```javascript
Discourse.PageTracker.current().on('change', function(url) {
console.log('the page changed to: ' + url);
});
```
@class PageTracker
@namespace Discourse
@module Discourse
**/
Discourse.PageTracker = Ember.Object.extend(Ember.Evented, {
start: function() {
if (this.get('started')) { return; }
var router = Discourse.__container__.lookup('router:main'),
self = this;
router.on('didTransition', function() {
var router = this;
self.trigger('change', router.get('url'));
});
this.set('started', true);
}
});
Discourse.PageTracker.reopenClass(Discourse.Singleton);