2015-02-13 05:22:32 +01:00
|
|
|
import Ember from 'ember';
|
2014-09-16 06:55:37 +02:00
|
|
|
|
2015-10-28 12:36:45 +01:00
|
|
|
const {Route, addObserver, inject, removeObserver} = Ember;
|
|
|
|
|
2014-10-24 23:09:50 +02:00
|
|
|
// Routes that extend MobileIndexRoute need to implement
|
2014-09-16 06:55:37 +02:00
|
|
|
// desktopTransition, a function which is called when
|
|
|
|
// the user resizes to desktop levels.
|
2015-10-28 12:36:45 +01:00
|
|
|
export default Route.extend({
|
2014-09-16 06:55:37 +02:00
|
|
|
desktopTransition: Ember.K,
|
2015-11-20 18:26:34 +01:00
|
|
|
_callDesktopTransition: null,
|
2014-09-16 06:55:37 +02:00
|
|
|
|
2015-10-28 12:36:45 +01:00
|
|
|
mediaQueries: inject.service(),
|
2014-09-16 06:55:37 +02:00
|
|
|
|
2015-10-28 12:36:45 +01:00
|
|
|
activate() {
|
2015-11-15 12:06:49 +01:00
|
|
|
this._super(...arguments);
|
2015-11-20 18:26:34 +01:00
|
|
|
this._callDesktopTransition = () => {
|
|
|
|
if (!this.get('mediaQueries.isMobile')) {
|
|
|
|
this.desktopTransition();
|
|
|
|
}
|
|
|
|
};
|
2015-10-28 12:36:45 +01:00
|
|
|
addObserver(this, 'mediaQueries.isMobile', this._callDesktopTransition);
|
2014-09-16 06:55:37 +02:00
|
|
|
},
|
|
|
|
|
2015-10-28 12:36:45 +01:00
|
|
|
deactivate() {
|
2015-11-15 12:06:49 +01:00
|
|
|
this._super(...arguments);
|
2015-11-20 18:26:34 +01:00
|
|
|
if (this._callDesktopTransition) {
|
2015-10-28 12:36:45 +01:00
|
|
|
removeObserver(this, 'mediaQueries.isMobile', this._callDesktopTransition);
|
2015-11-20 18:26:34 +01:00
|
|
|
this._callDesktopTransition = null;
|
|
|
|
}
|
|
|
|
}
|
2014-09-16 06:55:37 +02:00
|
|
|
});
|