ember template/view problem

by samselikoff

HTML

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script src="http://cdnjs.cloudflare.com/ajax/libs/handlebars.js/1.0.0-rc.3/handlebars.js"></script>
<script src="http://cdnjs.cloudflare.com/ajax/libs/ember.js/1.0.0-rc.6/ember.min.js"></script>
  <script src="//cdnjs.cloudflare.com/ajax/libs/ember-data.js/0.13.0/ember-data-latest.min.js"></script>
  
  
  
<title>JS Bin</title>


<body>
  
  <script type="text/x-handlebars" data-template-name="application">
    <h1>App template!</h1>
    {{ outlet }}
  </script>
  
    <script type="text/x-handlebars" data-template-name="index">
        <h1>Index</h1>
  </script>
    
    <script type="text/x-handlebars" data-template-name="month">
  <h1 class='soft title'>{{id}}</h1>
  {{ outlet }}
</script>
  
  <script type="text/x-handlebars" data-template-name="month/summary">
    
    {{#view App.SummaryContainerView activeTab='summaryCompany'}}
            <div id="summary-breakdown-container" class="summary-breakdowns">
              <div class="btn-group">
                {{#view App.SummaryContainerButton value='summaryCompany'}}Breakdown by Company{{/view}}
                {{#view App.SummaryContainerButton value='summaryDivision'}}Breakdown by Division{{/view}}
                {{#view App.SummaryContainerButton value='summaryCategory'}}Breakdown by Category{{/view}}
              </div>
              
              <div class="bordered">
                <div id="breakdown-chart">
                  {{ outlet tab }}
                </div>
              </div>
            </div>
          {{/view}}
</script>
  
  
  <script type="text/x-handlebars" data-template-name="summaryCompany">
    <p>Company</p>
  </script>

  <script type="text/x-handlebars" data-template-name="summaryDivision">
    <p>Division graph</p>
  </script>
  
  <script type="text/x-handlebars" data-template-name="summaryCategory">
    <p>Category graph</p>
  </script>
  
</body>
</html>

JavaScript

var App = Ember.Application.create({});

App.Store = DS.Store.extend({
    adapter: DS.FixtureAdapter.create()
});

App.Router.map(function () {
    this.resource('month', {
        path: '/:month_id'
    }, function () {
        this.route('summary');
        this.resource('companies', function () {
            this.resource('company', {
                path: '/:company_id'
            });
        });
    });
});

App.MonthSummaryRoute = Ember.Route.extend({

    events: {
        selectTab: function (name) {
            this.render(name, {
                into: 'month/summary',
                outlet: 'tab'
            });
        }
    },

    model: function () {
        return App.Month.find("Mar-2013");
    }
});



// Views
App.SummaryContainerView = Ember.View.extend({
    didInsertElement: function () {
        this.get('controller').send('selectTab', this.get('activeTab'));
    }

});

App.SummaryContainerButton = Ember.View.extend({
    tagName: 'a',
    classNames: ['btn'],
    classNameBindings: ['active'],

    containerView: function () {
        return this.nearestOfType(App.SummaryContainerView);
    }.property(),

    active: function () {
        return this.get('containerView.activeTab') == this.get('value');
    }.property('containerView.activeTab'),

    click: function () {
        this.set('containerView.activeTab', this.get('value'));
        this.get('controller').send('selectTab', this.get('value'));
    }
});


// Models
App.Month = DS.Model.extend({});

App.Month.FIXTURES = [{
    id: 'Mar-2013'
}];