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/controllers/user-notifications.js.es6

40 lines
1.2 KiB
JavaScript

export default Ember.ArrayController.extend({
needs: ['user-notifications'],
canLoadMore: true,
loading: false,
showDismissButton: function() {
return this.get('user').total_unread_notifications > 0;
}.property('user'),
actions: {
resetNew: function() {
var self = this;
Discourse.NotificationContainer.resetNew().then(function() {
self.get('controllers.user-notifications').setEach('read', true);
});
},
loadMore: function() {
if (this.get('canLoadMore') && !this.get('loading')) {
this.set('loading', true);
var self = this;
Discourse.NotificationContainer.loadHistory(
self.get('model.lastObject.created_at'),
self.get('user.username')).then(function(result) {
self.set('loading', false);
var notifications = result.get('content');
self.pushObjects(notifications);
// Stop trying if it's the end
if (notifications && notifications.length === 0) {
self.set('canLoadMore', false);
}
}).catch(function(error) {
self.set('loading', false);
Em.Logger.error(error);
});
}
}
}
});