Do not create notification elements from two different places
This commit is contained in:
parent
999ba592a9
commit
604358d5dc
@ -47,7 +47,7 @@ define([
|
|||||||
var formatData = function (data) {
|
var formatData = function (data) {
|
||||||
return JSON.stringify(data.content.msg.content);
|
return JSON.stringify(data.content.msg.content);
|
||||||
};
|
};
|
||||||
var createElement = function (data) {
|
var createElement = mailbox.createElement = function (data) {
|
||||||
var notif;
|
var notif;
|
||||||
notif = h('div.cp-notification', {
|
notif = h('div.cp-notification', {
|
||||||
'data-hash': data.content.hash
|
'data-hash': data.content.hash
|
||||||
|
|||||||
@ -32,7 +32,7 @@
|
|||||||
flex-direction: row;
|
flex-direction: row;
|
||||||
justify-content: flex-start;
|
justify-content: flex-start;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
border-radius: 5px 5px 0 0;
|
// border-radius: 5px 5px 0 0;
|
||||||
background-color: #888;
|
background-color: #888;
|
||||||
color: #fff;
|
color: #fff;
|
||||||
|
|
||||||
@ -68,7 +68,7 @@
|
|||||||
align-items: stretch;
|
align-items: stretch;
|
||||||
border: 1px solid #ccc;
|
border: 1px solid #ccc;
|
||||||
border-top: none;
|
border-top: none;
|
||||||
border-radius: 0 0 5px 5px;
|
// border-radius: 0 0 5px 5px;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
|
|
||||||
.cp-notification {
|
.cp-notification {
|
||||||
|
|||||||
@ -46,34 +46,7 @@ define([
|
|||||||
|
|
||||||
var create = {};
|
var create = {};
|
||||||
|
|
||||||
var formatData = function (data) {
|
var unreadData;
|
||||||
return JSON.stringify(data.content.msg.content);
|
|
||||||
};
|
|
||||||
var createElement = function (data) {
|
|
||||||
var notif;
|
|
||||||
notif = h('div.cp-notification', {
|
|
||||||
'data-hash': data.content.hash
|
|
||||||
}, [h('div.cp-notification-content', h('p', formatData(data)))]);
|
|
||||||
|
|
||||||
if (data.content.getFormatText) {
|
|
||||||
$(notif).find('.cp-notification-content p').html(data.content.getFormatText());
|
|
||||||
}
|
|
||||||
|
|
||||||
if (data.content.isClickable) {
|
|
||||||
$(notif).find('.cp-notification-content').addClass("cp-clickable")
|
|
||||||
.click(data.content.handler);
|
|
||||||
}
|
|
||||||
if (data.content.isDismissible) {
|
|
||||||
var dismissIcon = h('span.fa.fa-times');
|
|
||||||
var dismiss = h('div.cp-notification-dismiss', {
|
|
||||||
title: Messages.notifications_dismiss
|
|
||||||
}, dismissIcon);
|
|
||||||
$(dismiss).addClass("cp-clickable").click(data.content.dismissHandler);
|
|
||||||
$(notif).append(dismiss);
|
|
||||||
}
|
|
||||||
return notif;
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
// create the list of notifications
|
// create the list of notifications
|
||||||
// show only notifs with type in filterTypes array. If filterTypes empty, don't filter.
|
// show only notifs with type in filterTypes array. If filterTypes empty, don't filter.
|
||||||
@ -83,6 +56,9 @@ define([
|
|||||||
var categoryName = Messages['notification_cat_' + safeKey] || safeKey;
|
var categoryName = Messages['notification_cat_' + safeKey] || safeKey;
|
||||||
|
|
||||||
var notifsData = [];
|
var notifsData = [];
|
||||||
|
if (key === "all") {
|
||||||
|
unreadData = notifsData;
|
||||||
|
}
|
||||||
var $div = $('<div>', {'class': 'cp-notifications-' + key + ' cp-sidebarlayout-element'});
|
var $div = $('<div>', {'class': 'cp-notifications-' + key + ' cp-sidebarlayout-element'});
|
||||||
var notifsPanel, notifsList, dismissAll;
|
var notifsPanel, notifsList, dismissAll;
|
||||||
notifsPanel = h("div.cp-app-notifications-panel", [
|
notifsPanel = h("div.cp-app-notifications-panel", [
|
||||||
@ -107,9 +83,12 @@ define([
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
function addArchivedNotification (data) {
|
function addArchivedNotification (data) {
|
||||||
if (data.content.archived) {
|
var isDataUnread = unreadData.findIndex(function (ud) {
|
||||||
|
return ud.content.hash === data.content.hash;
|
||||||
|
}) === -1;
|
||||||
|
if (data.content.archived && isDataUnread) {
|
||||||
notifsData.push(data);
|
notifsData.push(data);
|
||||||
var el = createElement(data);
|
var el = common.mailbox.createElement(data);
|
||||||
$(el).addClass("cp-app-notification-archived");
|
$(el).addClass("cp-app-notification-archived");
|
||||||
$(notifsList).prepend(el);
|
$(notifsList).prepend(el);
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user