Files

48 lines
1.1 KiB
JavaScript

import Ember from 'ember';
import PostableGetable from 'flaredown/mixins/postable-getable';
import BackNavigateable from 'flaredown/mixins/back-navigateable';
import SearchableDropdown from 'flaredown/mixins/searchable-dropdown';
import NavbarSearchable from 'flaredown/mixins/navbar-searchable';
const {
set,
Controller,
getProperties,
setProperties,
computed: {
sort,
alias,
},
inject: {
service,
},
} = Ember;
export default Controller.extend(PostableGetable, BackNavigateable, SearchableDropdown, NavbarSearchable, {
page: 1,
postablesSort: ['createdAt:desc'],
notifications: service(),
postables: sort('model', 'postablesSort'),
screenName: alias('session.currentUser.profile.screenName'),
actions: {
crossedTheLine(above) {
if (above) {
let { page, model } = getProperties(this, 'page', 'model');
set(this, 'loadingPostables', true);
page += 1;
this.getPostables(page).then(postables => {
model.pushObjects(postables);
setProperties(this, { page, loadingPostables: false });
});
}
},
},
});