model-pagination.js 622 B

123456789101112131415161718192021
  1. import Ember from 'ember';
  2. export default Ember.Mixin.create({
  3. // Shorthand for validating page number
  4. cleanPage: function(page, transition) {
  5. var cleanPage = parseInt(page);
  6. if ("" + cleanPage === page && cleanPage > 0) {
  7. if (cleanPage > 1) {
  8. // return page number for an app
  9. return cleanPage;
  10. } else {
  11. // redirect to first page
  12. var routePath = transition.targetName.split('.');
  13. routePath[routePath.length - 1] = 'index';
  14. this.transitionTo(routePath.join('.'));
  15. }
  16. } else {
  17. this.throw404(); // not a valid page number
  18. }
  19. },
  20. });