Skip welcome & menu and move to editor
Welcome to JS Bin
Load cached copy from
 
<!DOCTYPE html>
<html>
<head>
<meta charset=utf-8 />
  <title>SO</title>
<script src="http://code.jquery.com/jquery-2.0.2.js"></script>
<script src="http://builds.emberjs.com/handlebars-1.0.0-rc.4.js"></script>
<script src="http://builds.emberjs.com/ember-latest-stable.js"></script>
<script src="http://builds.emberjs.com/ember-data-latest.js"></script>
</head>
<body>
  <script type="text/x-handlebars" data-template-name="application">
    <h1>ember-latest jsbin</h1>
    {{outlet}}
  </script>
  <script type="text/x-handlebars" data-template-name="index">
    <pre>pagination: 
    page: {{pagination.current_page}}
    total count: {{pagination.total_count}}
    total pages: {{pagination.total_pages}}
    </pre>
    <ul>
      {{#each}}
        <li>{{id}}. {{name}}</li>
      {{/each}}
    </ul>
  </script>
</body>
</html>
  
 
App = Ember.Application.create({});
App.IndexRoute = Ember.Route.extend({
  model: function(){
    return App.Plugin.find();
  }
});
App.IndexController = Ember.ArrayController.extend({
  pagination: function() {
    if (this.get('model.isLoaded')) {
      var store = this.get('store');
      modelType = this.get('model.type');
      console.log('modeltype: ', this.get('model.type'));
      var metadata = store.typeMapFor(modelType).metadata;
      console.log('metadata: ', metadata);
      return metadata.pagination;
    }
  }.property('model.isLoaded')
}); 
App.Store = DS.Store.extend({
  adapter: 'App.Adapter'
});
App.Plugin = DS.Model.extend({
  name: DS.attr('string')
});
App.serializer = DS.RESTSerializer.create();
App.serializer.configure({
  meta: 'meta',
  pagination: 'pagination'
});
App.Adapter = DS.RESTAdapter.extend({
  serializer: App.serializer,
  ajax: function(url, type, hash) {
    console.log('App.Adapter.ajax:', url, type, hash);
    json = App.RESTDATA[url];
    if (json) {
      console.log('App.Adapter.ajax: Found RESTDATA: ', json);
      return new Ember.RSVP.Promise(function(resolve, reject) {
        Ember.run(null, resolve, json);
      });
    } else {
      console.log('App.Adapter.ajax: No RESTDATA for url, calling API', url);
      return this._super(url, type, hash);
    }
  }
});
App.RESTDATA = {
'/plugins':
  {
    "meta":{
    "pagination":{
      "total_count":16,
      "total_pages":2,
      "current_page":1
    }
    },
    "plugins":[{
    "id":"1",
    "name":"zhangsan"
    }]
  }
};
Output

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

Dismiss x
public
Bin info
mikegrassottipro
0viewers