mirror of
https://github.com/flarum/core.git
synced 2025-05-06 15:35:38 +02:00
These are with the last commit
This commit is contained in:
parent
9ddc622929
commit
3b375e9dc4
31
ember/app/controllers/index.js
Normal file
31
ember/app/controllers/index.js
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
import Ember from 'ember';
|
||||||
|
|
||||||
|
import DiscussionResult from '../models/discussion-result';
|
||||||
|
import PostResult from '../models/post-result';
|
||||||
|
import PaneableMixin from '../mixins/paneable';
|
||||||
|
|
||||||
|
export default Ember.Controller.extend(Ember.Evented, PaneableMixin, {
|
||||||
|
needs: ['application', 'composer', 'index/index', 'discussion'],
|
||||||
|
|
||||||
|
index: Ember.computed.alias('controllers.index/index'),
|
||||||
|
|
||||||
|
paneDisabled: Ember.computed.not('index.model.length'),
|
||||||
|
|
||||||
|
actions: {
|
||||||
|
transitionFromBackButton: function() {
|
||||||
|
this.transitionToRoute('index');
|
||||||
|
},
|
||||||
|
|
||||||
|
loadMore: function() {
|
||||||
|
this.get('index').send('loadMore');
|
||||||
|
},
|
||||||
|
|
||||||
|
newDiscussion: function() {
|
||||||
|
var composer = this.get('controllers.composer');
|
||||||
|
composer.set('minimized', false);
|
||||||
|
composer.set('showing', true);
|
||||||
|
composer.set('title', 'Discussion Title'); // needs to be editable
|
||||||
|
composer.set('delegate', this);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
47
ember/app/routes/index/index.js
Normal file
47
ember/app/routes/index/index.js
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
import Ember from 'ember';
|
||||||
|
|
||||||
|
import AddCssClassToBodyMixin from '../../mixins/add-css-class-to-body';
|
||||||
|
|
||||||
|
export default Ember.Route.extend(AddCssClassToBodyMixin, {
|
||||||
|
cachedModel: null,
|
||||||
|
|
||||||
|
model: function() {
|
||||||
|
if (!this.get('cachedModel')) {
|
||||||
|
this.set('cachedModel', Ember.ArrayProxy.create());
|
||||||
|
}
|
||||||
|
return Ember.RSVP.resolve(this.get('cachedModel'));
|
||||||
|
},
|
||||||
|
|
||||||
|
setupController: function(controller, model) {
|
||||||
|
controller.set('model', model);
|
||||||
|
|
||||||
|
if (!model.get('length')) {
|
||||||
|
controller.set('resultsLoading', true);
|
||||||
|
controller.getResults().then(function(results) {
|
||||||
|
controller
|
||||||
|
.set('resultsLoading', false)
|
||||||
|
.set('meta', results.get('meta'))
|
||||||
|
.set('model.content', results);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
deactivate: function() {
|
||||||
|
this._super();
|
||||||
|
this.controllerFor('application').set('backButtonTarget', this.controllerFor('index'));
|
||||||
|
},
|
||||||
|
|
||||||
|
actions: {
|
||||||
|
refresh: function() {
|
||||||
|
this.set('cachedModel', null);
|
||||||
|
this.refresh();
|
||||||
|
},
|
||||||
|
|
||||||
|
didTransition: function() {
|
||||||
|
// @todo only if it's not a new discussion
|
||||||
|
this.controllerFor('composer').send('minimize');
|
||||||
|
this.controllerFor('index').set('paned', false);
|
||||||
|
this.controllerFor('index').set('paneShowing', false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
Loading…
x
Reference in New Issue
Block a user