ES6: AvatarSelector and HeaderController - also includes support for controllers with
camelcase via an error message.
This commit is contained in:
@@ -0,0 +1,45 @@
|
||||
/**
|
||||
This controller supports actions on the site header
|
||||
|
||||
@class HeaderController
|
||||
@extends Discourse.Controller
|
||||
@namespace Discourse
|
||||
@module Discourse
|
||||
**/
|
||||
export default Discourse.Controller.extend({
|
||||
topic: null,
|
||||
showExtraInfo: null,
|
||||
notifications: null,
|
||||
|
||||
showStarButton: function() {
|
||||
return Discourse.User.current() && !this.get('topic.isPrivateMessage');
|
||||
}.property('topic.isPrivateMessage'),
|
||||
|
||||
actions: {
|
||||
toggleStar: function() {
|
||||
var topic = this.get('topic');
|
||||
if (topic) topic.toggleStar();
|
||||
return false;
|
||||
},
|
||||
|
||||
showNotifications: function(headerView) {
|
||||
var self = this;
|
||||
|
||||
Discourse.ajax("/notifications").then(function(result) {
|
||||
self.set("notifications", result);
|
||||
self.set("currentUser.unread_notifications", 0);
|
||||
headerView.showDropdownBySelector("#user-notifications");
|
||||
});
|
||||
},
|
||||
|
||||
jumpToTopPost: function () {
|
||||
var topic = this.get('topic');
|
||||
if (topic) {
|
||||
Discourse.URL.routeTo(topic.get('firstPostUrl'));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user