Show:
/**
@module mixins
@submodule pagination
*/

import Mixin from '@ember/object/mixin';

var paginationController = Mixin.create({
  queryParams: ['skip'],
  skip: 0,
  limit: 20,
  actions: {
    prevPage: function () {
      var prevSkip = this.skip - this.limit;
      if (prevSkip < 0) {
        prevSkip = 0;
      }
      this.set('skip', prevSkip);
      this.transitionToRoute({
        queryParams: {
          skip: prevSkip,
        },
      });
    },
    nextPage: function () {
      var nextSkip = this.skip + this.limit;
      // if have next page
      if (this.model.length % this.limit !== 0) {
        return;
      }

      this.transitionToRoute({
        queryParams: {
          skip: nextSkip,
        },
      });
    },
  },
});

var paginationRoute = Mixin.create({
  queryParams: {
    skip: {
      refreshModel: true,
    },
  },
});

export { paginationRoute, paginationController };