-
-
+
+
+
+ {{#if currentSearchTerm}}
+ {{#if searchResultMessages}}
+ {{#each searchResultMessages}}
+ {{#nrr nrrargs 'message' .}}{{/nrr}}
+ {{/each}}
+ {{#if hasMore}}
+ -
+ {{#if ready}}
+ {{_ "Has_more"}}...
+ {{else}}
+
{{_ "Loading..."}}
+ {{/if}}
+
+ {{/if}}
+ {{else}}
+ {{_ "No_results_found"}}
+ {{/if}}
+ {{/if}}
+
-
- {{#each searchResultMessages}}
- {{#nrr nrrargs 'message' .}}{{/nrr}}
- {{/each}}
-
diff --git a/packages/rocketchat-ui-message/message/message.coffee b/packages/rocketchat-ui-message/message/message.coffee
index bf417c06df4..7d9bcffbe28 100644
--- a/packages/rocketchat-ui-message/message/message.coffee
+++ b/packages/rocketchat-ui-message/message/message.coffee
@@ -133,7 +133,7 @@ Template.message.onViewRendered = (context) ->
else
if previousDataset.username isnt currentDataset.username or parseInt(currentDataset.timestamp) - parseInt(previousDataset.timestamp) > RocketChat.settings.get('Message_GroupingPeriod') * 1000
$currentNode.removeClass('sequential')
- else
+ else if not $currentNode.hasClass 'new-day'
$currentNode.addClass('sequential')
if nextNode?.dataset?
@@ -147,7 +147,7 @@ Template.message.onViewRendered = (context) ->
if nextDataset.groupable isnt 'false'
if nextDataset.username isnt currentDataset.username or parseInt(nextDataset.timestamp) - parseInt(currentDataset.timestamp) > RocketChat.settings.get('Message_GroupingPeriod') * 1000
$nextNode.removeClass('sequential')
- else
+ else if not $nextNode.hasClass 'new-day'
$nextNode.addClass('sequential')
if not nextNode?
diff --git a/server/methods/messageSearch.coffee b/server/methods/messageSearch.coffee
index acd9da18c67..4c5d99a6151 100644
--- a/server/methods/messageSearch.coffee
+++ b/server/methods/messageSearch.coffee
@@ -1,5 +1,5 @@
Meteor.methods
- messageSearch: (text, rid) ->
+ messageSearch: (text, rid, limit) ->
###
text = 'from:rodrigo mention:gabriel chat'
###
@@ -13,7 +13,7 @@ Meteor.methods
options =
sort:
ts: -1
- limit: 20
+ limit: limit or 20
# Query for senders
from = []
@@ -54,14 +54,21 @@ Meteor.methods
# $meta: 'textScore'
if Object.keys(query).length > 0
+ query.t = { $ne: 'rm' } # hide removed messages (userful when searching for user messages)
+ query._hidden = { $ne: true } # don't return _hidden messages
+
# Filter by room
if rid?
query.rid = rid
try
if Meteor.call('canAccessRoom', rid, this.userId) isnt false
+ console.log query
result.messages = RocketChat.models.Messages.find(query, options).fetch()
+ # make sure we don't return more than limit results
+ # limit -= result.messages?.length
+
# ###
# # USERS
# ###