mirror of
https://github.com/codeninjasllc/discourse.git
synced 2024-11-24 08:09:13 -05:00
Instead of using a "discoveryLoading" action, return true
so it can
bubble up itself.
This commit is contained in:
parent
1d1978086c
commit
9cd3708b63
5 changed files with 11 additions and 11 deletions
|
@ -13,7 +13,10 @@ export default DiscoveryController.extend({
|
||||||
// Don't refresh if we're still loading
|
// Don't refresh if we're still loading
|
||||||
if (this.get('controllers.discovery.loading')) { return; }
|
if (this.get('controllers.discovery.loading')) { return; }
|
||||||
|
|
||||||
this.send('discoveryLoading');
|
// If we `send('loading')` here, due to returning true it bubbles up to the
|
||||||
|
// router and ember throws an error due to missing `handlerInfos`.
|
||||||
|
// Lesson learned: Don't call `loading` yourself.
|
||||||
|
this.set('controllers.discovery.loading', true);
|
||||||
Discourse.CategoryList.list('categories').then(function(list) {
|
Discourse.CategoryList.list('categories').then(function(list) {
|
||||||
self.set('model', list);
|
self.set('model', list);
|
||||||
self.send('loadingComplete');
|
self.send('loadingComplete');
|
||||||
|
|
|
@ -42,7 +42,10 @@ var controllerOpts = {
|
||||||
// Don't refresh if we're still loading
|
// Don't refresh if we're still loading
|
||||||
if (this.get('controllers.discovery.loading')) { return; }
|
if (this.get('controllers.discovery.loading')) { return; }
|
||||||
|
|
||||||
this.send('discoveryLoading');
|
// If we `send('loading')` here, due to returning true it bubbles up to the
|
||||||
|
// router and ember throws an error due to missing `handlerInfos`.
|
||||||
|
// Lesson learned: Don't call `loading` yourself.
|
||||||
|
this.set('controllers.discovery.loading', true);
|
||||||
Discourse.TopicList.find(filter).then(function(list) {
|
Discourse.TopicList.find(filter).then(function(list) {
|
||||||
self.setProperties({ model: list, selected: [] });
|
self.setProperties({ model: list, selected: [] });
|
||||||
|
|
||||||
|
|
|
@ -5,10 +5,6 @@ export default function(filter, params) {
|
||||||
return Discourse.Route.extend({
|
return Discourse.Route.extend({
|
||||||
queryParams: queryParams,
|
queryParams: queryParams,
|
||||||
|
|
||||||
beforeModel: function(transition) {
|
|
||||||
transition.send('discoveryLoading');
|
|
||||||
},
|
|
||||||
|
|
||||||
model: function(modelParams) {
|
model: function(modelParams) {
|
||||||
return Discourse.Category.findBySlug(modelParams.slug, modelParams.parentSlug);
|
return Discourse.Category.findBySlug(modelParams.slug, modelParams.parentSlug);
|
||||||
},
|
},
|
||||||
|
@ -89,7 +85,6 @@ export default function(filter, params) {
|
||||||
});
|
});
|
||||||
|
|
||||||
this.controllerFor('search').set('searchContext', model.get('searchContext'));
|
this.controllerFor('search').set('searchContext', model.get('searchContext'));
|
||||||
this.controllerFor('discovery').send('loadingComplete');
|
|
||||||
this.set('topics', null);
|
this.set('topics', null);
|
||||||
|
|
||||||
this.openTopicDraft(topics);
|
this.openTopicDraft(topics);
|
||||||
|
|
|
@ -17,8 +17,7 @@ export default function(filter, extras) {
|
||||||
return Discourse.Route.extend({
|
return Discourse.Route.extend({
|
||||||
queryParams: queryParams,
|
queryParams: queryParams,
|
||||||
|
|
||||||
beforeModel: function(transition) {
|
beforeModel: function() {
|
||||||
transition.send('discoveryLoading');
|
|
||||||
this.controllerFor('navigation/default').set('filterMode', filter);
|
this.controllerFor('navigation/default').set('filterMode', filter);
|
||||||
},
|
},
|
||||||
|
|
||||||
|
@ -61,7 +60,6 @@ export default function(filter, extras) {
|
||||||
|
|
||||||
this.openTopicDraft(model);
|
this.openTopicDraft(model);
|
||||||
this.controllerFor('navigation/default').set('canCreateTopic', model.get('can_create_topic'));
|
this.controllerFor('navigation/default').set('canCreateTopic', model.get('can_create_topic'));
|
||||||
this.controllerFor('discovery').send('loadingComplete');
|
|
||||||
},
|
},
|
||||||
|
|
||||||
renderTemplate: function() {
|
renderTemplate: function() {
|
||||||
|
|
|
@ -19,12 +19,13 @@ Discourse.DiscoveryRoute = Discourse.Route.extend(Discourse.ScrollTop, Discourse
|
||||||
},
|
},
|
||||||
|
|
||||||
actions: {
|
actions: {
|
||||||
discoveryLoading: function() {
|
loading: function() {
|
||||||
var controller = this.controllerFor('discovery');
|
var controller = this.controllerFor('discovery');
|
||||||
|
|
||||||
// If we're already loading don't do anything
|
// If we're already loading don't do anything
|
||||||
if (controller.get('loading')) { return; }
|
if (controller.get('loading')) { return; }
|
||||||
controller.set('loading', true);
|
controller.set('loading', true);
|
||||||
|
return true;
|
||||||
},
|
},
|
||||||
|
|
||||||
loadingComplete: function() {
|
loadingComplete: function() {
|
||||||
|
|
Loading…
Reference in a new issue