diff --git a/ember/app/components/ui/item-list.js b/ember/app/components/ui/item-list.js index 165ae814e..10ecd4525 100644 --- a/ember/app/components/ui/item-list.js +++ b/ember/app/components/ui/item-list.js @@ -13,12 +13,12 @@ export default Ember.Component.extend({ if (!Ember.isArray(items)) { return []; } + var instances = []; items.forEach(function(item) { - item.reopenClass({ - isListItem: item.proto().tagName === 'li', - listItemClass: item.proto().listItemClass - }); + item = item.create(); + item.set('isListItem', item.constructor.proto().tagName === 'li'); + instances.pushObject(item); }); - return items; + return instances; }) }); diff --git a/ember/app/mixins/has-item-lists.js b/ember/app/mixins/has-item-lists.js index 24942b39f..682a7cfcf 100644 --- a/ember/app/mixins/has-item-lists.js +++ b/ember/app/mixins/has-item-lists.js @@ -7,7 +7,7 @@ import SeparatorItem from 'flarum/components/ui/separator-item'; export default Ember.Mixin.create({ itemLists: [], - initItemLists: Ember.on('didInsertElement', function() { + initItemLists: Ember.on('init', function() { var self = this; this.get('itemLists').forEach(function(name) { self.initItemList(name); diff --git a/ember/app/templates/components/ui/item-list.hbs b/ember/app/templates/components/ui/item-list.hbs index 039cbdbe5..939fad1c3 100644 --- a/ember/app/templates/components/ui/item-list.hbs +++ b/ember/app/templates/components/ui/item-list.hbs @@ -1,7 +1,9 @@ {{#each item in listItems}} - {{#if item.isListItem}} - {{view item}} - {{else}} -
  • {{view item}}
  • - {{/if}} + {{#unless item.isHiddenInList}} + {{#if item.isListItem}} + {{view item}} + {{else}} +
  • {{view item}}
  • + {{/if}} + {{/unless}} {{/each}} diff --git a/ember/app/views/discussion.js b/ember/app/views/discussion.js index 34e16fa65..60fe043b6 100644 --- a/ember/app/views/discussion.js +++ b/ember/app/views/discussion.js @@ -54,12 +54,14 @@ export default Ember.View.extend(HasItemLists, { buttonClass: 'btn-primary', listItemClass: 'primary-control', }), 'controls'); + }, - items.pushObjectWithTag(StreamScrubber.extend({ + addStreamScrubber: Ember.on('didInsertElement', function() { + this.get('sidebar').pushObjectWithTag(StreamScrubber.extend({ streamContent: this.get('streamContent'), listItemClass: 'title-control' }), 'scrubber'); - }, + }), populateControls: function(items) { var view = this;