Skip welcome & menu and move to editor
Welcome to JS Bin
Load cached copy from
 
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Ember Starter Kit</title>
  <link rel="stylesheet" href="http://cdnjs.cloudflare.com/ajax/libs/normalize/2.1.0/normalize.css">
  <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
  <script src="http://builds.emberjs.com/canary/ember.debug.js"></script>
  <script src="http://builds.emberjs.com/canary/ember-template-compiler.js"></script>
</head>
<body>
  <div id='app'></div>
  <pre id="logs"></pre>
  
  <script type="text/x-handlebars">
    <h2>rwjblue's Ember JSBins</h2>
    
    {{link-to 'Index' 'index'}}
    {{link-to 'Posts' 'posts'}}
    
    {{outlet}}
    
    {{show-logs}}
  </script>  
  
  <script type="text/x-handlebars" id='components/show-logs'>
     <h3>Logged Method Calls</h3>
     
     <a href="#" {{action 'clearLogs'}}>Clear Logs</a>
     <ul>
      {{#each logs as |item|}}
        <li>{{item}}</li>
      {{/each}}
    </ul>
  </script>
</body>
</html>
 
/* Put your CSS here */
html, body {
    margin: 20px;
}
 
var App = Ember.Application.create({
  rootElement: '#app',
  LOG_RESOLVER: true
});
App.logs = Ember.ArrayProxy.create({content: []});
App.Router.map(function() {
  this.resource('posts', function(){});
});
function loggingAlias(property){
  return function(){
    App.logs.pushObject(this._debugContainerKey + ' ' + property);
    return this._super.apply(this, arguments);
  };
}
App.LoggingRoute = Ember.Route.extend({
  enter: loggingAlias('enter (private)'),
  exit: loggingAlias('exit (private)'),
  activate: loggingAlias('activate'),
  deactivate: loggingAlias('deactivate'),
  serialize: loggingAlias('serialize'),
  deserialize: loggingAlias('deserialize (private)'),
  model: loggingAlias('model'),
  setupController: loggingAlias('setupController'),
  afterModel: loggingAlias('afterModel'),
  beforeModel: loggingAlias('beforeModel'),
  renderTemplate: loggingAlias('renderTemplate'),
  redirect: loggingAlias('redirect')
});
App.ShowLogsComponent = Ember.Component.extend({
  init() {
    this._super(...arguments);
    this.logs = App.logs; 
  },
  actions: {
    clearLogs: function(){
      this.logs.clear();
    }
  }
});
App.ApplicationRoute = App.LoggingRoute.extend({
  actions: {
    error: function(error) {
      log(error.message);
    }
  }  
});
App.PostsRoute = App.LoggingRoute.extend();
App.PostsIndexRoute = App.LoggingRoute.extend();
Ember.onerror = log;
function log() {
  var msg = [].slice.call(arguments).join(' ');
  logs.insertBefore(document.createTextNode("\n" + msg), logs.firstChild);
}
Output

You can jump to the latest bin by adding /latest to your URL

Dismiss x
public
Bin info
rwjbluepro
0viewers