mirror of
https://github.com/discourse/discourse.git
synced 2025-02-13 19:43:17 +08:00
59 lines
1.8 KiB
JavaScript
59 lines
1.8 KiB
JavaScript
import PrivateMessageMapComponent from 'discourse/components/private-message-map';
|
|
import TopicMapComponent from 'discourse/components/topic-map';
|
|
import ToggleSummaryComponent from 'discourse/components/toggle-summary';
|
|
import ToggleDeletedComponent from 'discourse/components/toggle-deleted';
|
|
import DiscourseContainerView from 'discourse/views/container';
|
|
|
|
export default DiscourseContainerView.extend({
|
|
classNameBindings: ['hidden', ':topic-map'],
|
|
|
|
_postsChanged: function() {
|
|
Ember.run.once(this, 'rerender');
|
|
}.observes('topic.posts_count'),
|
|
|
|
hidden: function() {
|
|
if (!this.get('post.firstPost')) return true;
|
|
|
|
var topic = this.get('topic');
|
|
if (topic.get('archetype') === 'private_message') return false;
|
|
if (topic.get('archetype') !== 'regular') return true;
|
|
return topic.get('posts_count') < 2;
|
|
}.property(),
|
|
|
|
init: function() {
|
|
this._super();
|
|
if (this.get('hidden')) return;
|
|
|
|
this.attachViewWithArgs({ topic: this.get('topic') }, TopicMapComponent);
|
|
this.trigger('appendMapInformation', this);
|
|
},
|
|
|
|
appendMapInformation: function(container) {
|
|
var topic = this.get('topic');
|
|
|
|
// If we have a summary capability
|
|
if (topic.get('has_summary')) {
|
|
container.attachViewWithArgs({
|
|
topic: topic,
|
|
filterBinding: 'controller.filter'
|
|
}, ToggleSummaryComponent);
|
|
}
|
|
|
|
if (Discourse.User.currentProp('staff')) {
|
|
// If we have deleted post filtering
|
|
if (topic.get('has_deleted')) {
|
|
container.attachViewWithArgs({
|
|
topic: topic,
|
|
filterBinding: 'controller.filter'
|
|
}, ToggleDeletedComponent);
|
|
}
|
|
}
|
|
|
|
// If we have a private message
|
|
if (this.get('topic.isPrivateMessage')) {
|
|
container.attachViewWithArgs({ topic: topic, showPrivateInviteAction: 'showPrivateInvite' }, PrivateMessageMapComponent);
|
|
}
|
|
}
|
|
});
|
|
|