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/models/notification.js

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 "/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;
}
});