destroyView bug

by krisselden

HTML

<script src="https://raw.github.com/wycats/handlebars.js/1.0.rc.2/dist/handlebars.js"></script>
<script src="https://raw.github.com/emberjs/ember.js/latest-builds/ember.js"></script>
<script type="text/x-handlebars" data-template-name="application">
	<p>Application Handlebars</p>
	{{outlet}}
    {{outlet menu}}
</script>

<script type="text/x-handlebars" data-template-name="menu">
    <div>
        <a href="#" {{action showPanelOne}}>Panel One</a>
        <a href="#" {{action showPanelTwo}}>Panel Two</a>
        <a href="#" {{action showPanelThree}}>Panel Three</a>
        <a href="#" {{action hideMenu}}>Hide</a>
    </div>
    {{outlet}}
</script>

<script type="text/x-handlebars" data-template-name="empty"></script>

<script type="text/x-handlebars" data-template-name="index">
    <p>Index Handlebars</p>
    <a href="#" {{action showMenu}}>Show Menu</a>
</script>

<script type="text/x-handlebars" data-template-name="panelOne">
    <div>
        <h2>Panel One</h2>
    </div>
</script>
<script type="text/x-handlebars" data-template-name="panelTwo">
    <div>
        <h2>Panel Two</h2>
    </div>
</script>
<script type="text/x-handlebars" data-template-name="panelThree">
    <div>
        <h2>Panel Three</h2>
    </div>
</script>

JavaScript

App = Ember.Application.create();

App.Router.map(function() {});

App.ApplicationRoute = Ember.Route.extend({
    events: {
        showMenu: function() {
            this.render('menu', { into: 'application', outlet: 'menu' });
            this.events.showPanelOne.apply(this);
        },
        showPanelOne: function() {
            console.log('showPanelOne');
            this.render('panelOne', { into: 'menu' });
        },
        showPanelTwo: function() {
            console.log('showPanelTwo');
            this.render('panelTwo', { into: 'menu' });
        },
        showPanelThree: function() {
            console.log('showPanelThree');
            this.render('panelThree', { into: 'menu' });
        },
        hideMenu: function() {
            this.render('empty', { into: 'application', outlet: 'menu' });
        }
    }
});