import StringBuffer from 'discourse/mixins/string-buffer'; export default Ember.Component.extend(StringBuffer, { tagName: 'tr', rerenderTriggers: ['order', 'ascending'], click: function(e) { var target = $(e.target); if(target.parents().andSelf().hasClass('bulk-select')){ this.sendAction('toggleBulkSelect'); } else { var th = target.closest('th.sortable'); if(th.length > 0) { this.sendAction('changeSort', th.data('sort-order')); } } }, renderColumn: function(buffer, options){ var className = options.sortable ? "sortable " : ""; className += options.order || ""; var sortIcon = ""; if(this.get("order") === options.order && options.sortable){ className += " sorting"; sortIcon = " "; } if(options.number){ className += " num"; } buffer.push("" + I18n.t(options.name) + sortIcon + ""); }, renderString: function(buffer){ var self = this; if(this.get('currentUser')){ buffer.push(""); if(this.get('canBulkSelect')){ var title = I18n.t('topics.bulk.toggle'); buffer.push(""); } buffer.push(""); } var column = function(options){ self.renderColumn(buffer, options); }; column({name: 'topic.title', sortable: false, order: 'default'}); if(!this.get('hideCategory')) { column({name: 'category_title', sortable: true, order: 'category'}); } column({sortable: false, order: 'posters', name: 'users'}); column({sortable: true, order: 'posts', name: 'posts', number: true}); column({sortable: true, order: 'views', name: 'views', number: true}); column({sortable: true, order: 'activity', name: 'activity', number: true}); } });