mirror of
https://github.com/discourse/discourse.git
synced 2025-02-04 11:35:16 +08:00
46 lines
1.1 KiB
JavaScript
46 lines
1.1 KiB
JavaScript
/**
|
|
A data model representing a notification a user receives
|
|
|
|
@class Notification
|
|
@extends Discourse.Model
|
|
@namespace Discourse
|
|
@module Discourse
|
|
**/
|
|
Discourse.Notification = Discourse.Model.extend({
|
|
|
|
readClass: (function() {
|
|
if (this.read) return 'read';
|
|
return '';
|
|
}).property('read'),
|
|
|
|
url: (function() {
|
|
var slug;
|
|
if (this.blank('data.topic_title')) return "";
|
|
slug = this.get('slug');
|
|
return Discourse.getURL("/t/") + slug + "/" + (this.get('topic_id')) + "/" + (this.get('post_number'));
|
|
}).property(),
|
|
|
|
rendered: (function() {
|
|
var notificationName;
|
|
notificationName = Discourse.get('site.notificationLookup')[this.notification_type];
|
|
return Em.String.i18n("notifications." + notificationName, {
|
|
username: this.data.display_username,
|
|
link: "<a href='" + (this.get('url')) + "'>" + this.data.topic_title + "</a>"
|
|
});
|
|
}).property()
|
|
|
|
});
|
|
|
|
Discourse.Notification.reopenClass({
|
|
create: function(obj) {
|
|
var result;
|
|
result = this._super(obj);
|
|
if (obj.data) {
|
|
result.set('data', Em.Object.create(obj.data));
|
|
}
|
|
return result;
|
|
}
|
|
});
|
|
|
|
|