This repository has been archived on 2023-03-18. You can view files and clone it, but cannot push or open issues or pull requests.
osr-discourse-src/app/assets/javascripts/discourse/routes/topic_route.js

46 lines
1.2 KiB
JavaScript

/**
This route handles requests for topics
@class TopicRoute
@extends Discourse.Route
@namespace Discourse
@module Discourse
**/
Discourse.TopicRoute = Discourse.Route.extend({
model: function(params) {
var currentModel, _ref;
if (currentModel = (_ref = this.controllerFor('topic')) ? _ref.get('content') : void 0) {
if (currentModel.get('id') === parseInt(params.id, 10)) {
return currentModel;
}
}
return Discourse.Topic.create(params);
},
enter: function() {
Discourse.set('transient.lastTopicIdViewed', parseInt(this.modelFor('topic').get('id'), 10));
},
exit: function() {
var headerController, topicController;
topicController = this.controllerFor('topic');
topicController.cancelFilter();
topicController.set('multiSelect', false);
this.controllerFor('composer').set('topic', null);
if (headerController = this.controllerFor('header')) {
headerController.set('topic', null);
headerController.set('showExtraInfo', false);
}
},
setupController: function(controller, model) {
this.controllerFor('header').set('topic', model);
this.controllerFor('composer').set('topic', model);
}
});