export default Ember.Component.extend({
  loading: Ember.computed.not('loaded'),

  loaded: function() {
    var topicList = this.get('topicList');
    if (topicList) {
      return topicList.get('loaded');
    } else {
      return true;
    }
  }.property('topicList.loaded'),

  _topicListChanged: function() {
    this._initFromTopicList(this.get('topicList'));
  }.observes('topicList.@each'),

  _initFromTopicList: function(topicList) {
    if (topicList !== null) {
      this.set('topics', topicList.get('topics'));
      this.rerender();
    }
  },

  init: function() {
    this._super();
    var topicList = this.get('topicList');
    if (topicList) {
      this._initFromTopicList(topicList);
    } else {
      // Without a topic list, we assume it's loaded always.
      this.set('loaded', true);
    }
  }

});
