parent
3fca31a573
commit
78a78a4fe7
@ -0,0 +1 @@ |
||||
@StarredMessage = new Meteor.Collection 'rocketchat_starred_message' |
@ -0,0 +1,5 @@ |
||||
Meteor.startup -> |
||||
RocketChat.callbacks.add 'enter-room', -> |
||||
console.log 'adding tabbar' |
||||
RocketChat.TabBar.addButton({ id: 'starred-messages', i18nTitle: 'rocketchat-message-star:Starred_Messages', icon: 'icon-star', template: 'starredMessages', order: 3 }) |
||||
, RocketChat.callbacks.priority.MEDIUM, 'enter-room-tabbar-star' |
@ -0,0 +1,7 @@ |
||||
Template.starredMessages.helpers |
||||
messages: -> |
||||
return StarredMessage.find { rid: Session.get 'openedRoom' }, { sort: { ts: -1 } } |
||||
|
||||
Template.starredMessages.onCreated -> |
||||
this.autorun => |
||||
this.subscribe 'starredMessages', Session.get('openedRoom') |
@ -0,0 +1,18 @@ |
||||
<template name="starredMessages"> |
||||
<div class="control"> |
||||
<div class="header"> |
||||
<h2>{{_ "Starred_Messages"}}</h2> |
||||
</div> |
||||
</div> |
||||
{{#if Template.subscriptionsReady}} |
||||
{{#if messages}} |
||||
<ul class="starred-messages-list scrollable"> |
||||
{{#each messages}} |
||||
{{#nrr nrrargs 'message' .}}{{/nrr}} |
||||
{{/each}} |
||||
</ul> |
||||
{{/if}} |
||||
{{else}} |
||||
{{_ "Loading..."}} |
||||
{{/if}} |
||||
</template> |
@ -0,0 +1,3 @@ |
||||
.starred-messages-list .message-cog, .starred-messages-list .message-dropdown { |
||||
display: none; |
||||
} |
@ -1,5 +1,6 @@ |
||||
{ |
||||
"Message_AllowStarring" : "Allow Message Starring", |
||||
"Star_Message": "Star Message", |
||||
"Unstar_Message": "Remove Star" |
||||
"Unstar_Message": "Remove Star", |
||||
"Starred_Messages": "Starred Messages" |
||||
} |
@ -1,5 +1,6 @@ |
||||
{ |
||||
"Message_AllowStarring" : "Permitir Mensagens Favoritas", |
||||
"Star_Message": "Favoritar Message", |
||||
"Unstar_Message": "Remover Favorito" |
||||
"Unstar_Message": "Remover Favorito", |
||||
"Stars": "Mensagens Favoritas" |
||||
} |
@ -0,0 +1,18 @@ |
||||
Meteor.publish 'starredMessages', (rid, options = {}) -> |
||||
unless this.userId |
||||
return this.ready() |
||||
|
||||
console.log '[publish] starredMessages -> '.green, 'rid:', rid, 'options:', options |
||||
|
||||
publication = @ |
||||
|
||||
cursorHandle = ChatMessage.find({ 'starred._id': this.userId, rid: rid, _hidden: { $ne: true } }, { sort: { ts: -1 }, limit: 50 }).observeChanges |
||||
added: (_id, record) -> |
||||
publication.added('rocketchat_starred_message', _id, record) |
||||
|
||||
changed: (_id, record) -> |
||||
publication.changed('rocketchat_starred_message', _id, record) |
||||
|
||||
@ready() |
||||
@onStop -> |
||||
cursorHandle.stop() |
@ -0,0 +1,3 @@ |
||||
Meteor.startup -> |
||||
Meteor.defer -> |
||||
try ChatMessage._ensureIndex { 'starred._id': 1 }, { sparse: 1 } catch e then console.log e |
Loading…
Reference in new issue