var NotificationsComponent = Ember.Component.extend({ tagName: 'aside', classNames: 'notifications', classNameBindings: ['location'], messages: Ember.computed.filter('notifications', function (notification) { // If this instance of the notifications component has no location affinity // then it gets all notifications if (!this.get('location')) { return true; } var displayLocation = (typeof notification.toJSON === 'function') ? notification.get('location') : notification.location; return this.get('location') === displayLocation; }), messageCountObserver: function () { this.sendAction('notify', this.get('messages').length); }.observes('messages.[]') }); export default NotificationsComponent;