|
|
|
@ -138,7 +138,7 @@ Template.message.helpers({ |
|
|
|
|
}, |
|
|
|
|
isGroupable() { |
|
|
|
|
const { msg, room = {}, settings, groupable } = this; |
|
|
|
|
if (groupable === false || settings.allowGroup === false || room.broadcast || msg.groupable === false || MessageTypes.isSystemMessage(msg)) { |
|
|
|
|
if ((msg.tmid && settings.showreply) || groupable === false || settings.allowGroup === false || room.broadcast || msg.groupable === false || MessageTypes.isSystemMessage(msg)) { |
|
|
|
|
return 'false'; |
|
|
|
|
} |
|
|
|
|
}, |
|
|
|
@ -385,8 +385,8 @@ Template.message.helpers({ |
|
|
|
|
return !!(tmid && showreply); |
|
|
|
|
}, |
|
|
|
|
collapsed() { |
|
|
|
|
const { msg: { tmid, collapsed }, settings: { showreply } } = this; |
|
|
|
|
const isCollapsedThreadReply = tmid && showreply && collapsed !== false; |
|
|
|
|
const { msg: { tmid, collapsed }, settings: { showreply }, shouldCollapseReplies } = this; |
|
|
|
|
const isCollapsedThreadReply = shouldCollapseReplies && tmid && showreply && collapsed !== false; |
|
|
|
|
if (isCollapsedThreadReply) { |
|
|
|
|
return 'collapsed'; |
|
|
|
|
} |
|
|
|
@ -505,12 +505,12 @@ const getPreviousSentMessage = (currentNode) => { |
|
|
|
|
} |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
const setNewDayAndGroup = (currentNode, previousNode, forceDate, period, noDate) => { |
|
|
|
|
const setNewDayAndGroup = (currentNode, previousNode, forceDate, period, showDateSeparator) => { |
|
|
|
|
const { classList, dataset: currentDataset } = currentNode; |
|
|
|
|
|
|
|
|
|
if (!previousNode) { |
|
|
|
|
classList.remove('sequential'); |
|
|
|
|
!noDate && classList.add('new-day'); |
|
|
|
|
showDateSeparator && classList.add('new-day'); |
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -518,7 +518,7 @@ const setNewDayAndGroup = (currentNode, previousNode, forceDate, period, noDate) |
|
|
|
|
const previousMessageDate = new Date(parseInt(previousDataset.timestamp)); |
|
|
|
|
const currentMessageDate = new Date(parseInt(currentDataset.timestamp)); |
|
|
|
|
|
|
|
|
|
if (!noDate && (forceDate || previousMessageDate.toDateString() !== currentMessageDate.toDateString())) { |
|
|
|
|
if (showDateSeparator && previousMessageDate.toDateString() !== currentMessageDate.toDateString()) { |
|
|
|
|
classList.remove('sequential'); |
|
|
|
|
classList.add('new-day'); |
|
|
|
|
} |
|
|
|
@ -533,9 +533,9 @@ const setNewDayAndGroup = (currentNode, previousNode, forceDate, period, noDate) |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
Template.message.onViewRendered = function() { |
|
|
|
|
const { settings, forceDate, noDate, groupable, msg } = messageArgs(Template.currentData()); |
|
|
|
|
const { settings, forceDate, showDateSeparator = true, groupable, msg } = messageArgs(Template.currentData()); |
|
|
|
|
|
|
|
|
|
if (noDate && !groupable) { |
|
|
|
|
if (!showDateSeparator && !groupable) { |
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -547,11 +547,11 @@ Template.message.onViewRendered = function() { |
|
|
|
|
const currentDataset = currentNode.dataset; |
|
|
|
|
const previousNode = getPreviousSentMessage(currentNode); |
|
|
|
|
const nextNode = currentNode.nextElementSibling; |
|
|
|
|
setNewDayAndGroup(currentNode, previousNode, forceDate, settings.Message_GroupingPeriod, noDate); |
|
|
|
|
setNewDayAndGroup(currentNode, previousNode, forceDate, settings.Message_GroupingPeriod, showDateSeparator); |
|
|
|
|
if (nextNode && nextNode.dataset) { |
|
|
|
|
const nextDataset = nextNode.dataset; |
|
|
|
|
if (forceDate || nextDataset.date !== currentDataset.date) { |
|
|
|
|
if (!noDate) { |
|
|
|
|
if (showDateSeparator) { |
|
|
|
|
currentNode.classList.add('new-day'); |
|
|
|
|
} |
|
|
|
|
currentNode.classList.remove('sequential'); |
|
|
|
@ -562,7 +562,7 @@ Template.message.onViewRendered = function() { |
|
|
|
|
if (nextDataset.groupable !== 'false') { |
|
|
|
|
if (nextDataset.username !== currentDataset.username || parseInt(nextDataset.timestamp) - parseInt(currentDataset.timestamp) > settings.Message_GroupingPeriod) { |
|
|
|
|
nextNode.classList.remove('sequential'); |
|
|
|
|
} else if (!nextNode.classList.contains('new-day') && !currentNode.classList.contains('temp') && !currentNode.dataset.tmid) { |
|
|
|
|
} else if (!nextNode.classList.contains('new-day') && !currentNode.classList.contains('temp')) { |
|
|
|
|
nextNode.classList.add('sequential'); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|