Add setting to enable global search

pull/9687/head
Rodrigo Nascimento 7 years ago
parent cea44dd43f
commit 967d7aa093
No known key found for this signature in database
GPG Key ID: CFCE33B7B01AC335
  1. 1
      packages/rocketchat-i18n/i18n/en.i18n.json
  2. 8
      packages/rocketchat-lib/server/startup/settings.js
  3. 8
      packages/rocketchat-ui-flextab/client/tabs/messageSearch.html
  4. 7
      packages/rocketchat-ui-flextab/client/tabs/messageSearch.js
  5. 10
      packages/rocketchat-ui-message/client/message.html
  6. 11
      packages/rocketchat-ui-message/client/message.js

@ -1242,6 +1242,7 @@
"Message_DateFormat_Description": "See also: <a href=\"http://momentjs.com/docs/#/displaying/format/\" target=\"momemt\">Moment.js</a>",
"Message_deleting_blocked": "This message cannot be deleted anymore",
"Message_editing": "Message editing",
"Message_GlobalSearch": "Global Search",
"Message_GroupingPeriod": "Grouping Period (in seconds)",
"Message_GroupingPeriodDescription": "Messages will be grouped with previous message if both are from the same user and the elapsed time was less than the informed time in seconds.",
"Message_HideType_au": "Hide \"User Added\" messages",

@ -1313,10 +1313,16 @@ RocketChat.settings.addGroup('Message', function() {
'public': true
});
return this.add('Message_HideType_mute_unmute', false, {
this.add('Message_HideType_mute_unmute', false, {
type: 'boolean',
'public': true
});
this.add('Message_GlobalSearch', false, {
type: 'boolean',
'public': true,
alert: 'This feature is currently in beta and could decrease the application performance! Please report bugs to github.com/RocketChat/Rocket.Chat/issues'
});
});
RocketChat.settings.addGroup('Meta', function() {

@ -14,9 +14,11 @@
<input type="text" class="rc-input__element" name="message-search" id="message-search" placeholder="{{tSearchMessages}}" autocomplete="off" />
</div>
</label>
<label>
<input type="checkbox" id="global-search" checked>{{_ "Global_Search"}}
</label>
{{#if allowGlobalSearch}}
<label>
<input type="checkbox" id="global-search" checked>{{_ "Global_Search"}}
</label>
{{/if}}
</div>
</form>
</div>

@ -15,7 +15,7 @@ Meteor.startup(function() {
}
FlowRouter.goToRoomById(message.rid);
RocketChat.MessageAction.hideDropDown();
// RocketChat.MessageAction.hideDropDown();
if (window.matchMedia('(max-width: 500px)').matches) {
Template.instance().tabBar.close();
@ -59,8 +59,11 @@ Template.messageSearch.helpers({
message() {
return _.extend(this, { customClass: 'search', actionContext: 'search'});
}
},
allowGlobalSearch() {
return RocketChat.settings.get('Message_GlobalSearch');
}
});
Template.messageSearch.events({

@ -22,11 +22,6 @@
{{/if}}
{{/if}}
<button type="button" class="user user-card-message color-primary-font-color" data-username="{{u.username}}" tabindex="1">{{getName}}{{#if showUsername}} <span class="message-alias border-component-color color-info-font-color">@{{u.username}}</span>{{/if}}</button>
{{#if fromSearch}}
<span class="info color-info-font-color">
<i class="{{roomIcon}}" aria-label=""></i>{{channelName}}
</span>
{{/if}}
<span class="info border-component-color color-info-font-color">
{{#each roleTags}}
<span class="role-tag background-info-font-color" data-role="{{description}}">{{description}}</span>
@ -55,6 +50,11 @@
<span class="private">{{_ "Only_you_can_see_this_message"}}</span>
{{/if}}
</span>
{{#if fromSearch}}
<span class="user color-info-font-color">
{{>icon icon=roomIcon}}{{channelName}}
</span>
{{/if}}
<div class="body color-primary-font-color {{system true}}" dir="auto" data-unread-text="{{_ "Unread_Messages"}}">
{{#if isSnippet}}
<div class="snippet-name">{{_ "Snippet_name"}}: {{snippetName}}</div>

@ -266,13 +266,18 @@ Template.message.helpers({
}
},
channelName() {
return Session.get(`roomData${ this.rid }`).name;
const subscription = RocketChat.models.Subscriptions.findOne({rid: this.rid});
return subscription && subscription.name;
},
roomIcon() {
return RocketChat.roomTypes.getIcon(Session.get(`roomData${ this.rid }`).t);
const room = Session.get(`roomData${ this.rid }`);
if (room && room.t === 'd') {
return 'at';
}
return RocketChat.roomTypes.getIcon(room && room.t);
},
fromSearch() {
return (this.customClass==='search');
return this.customClass === 'search';
},
actionContext() {
return this.actionContext;

Loading…
Cancel
Save