Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 | 4x 4x 4x 4x 4x 4x 4x 4x 4x 4x 4x | import Component from '@ember/component'; import { computed } from '@ember/object'; import layout from '../../../templates/components/bootstrap/tables/-pagination-control'; import { task } from 'ember-concurrency'; import { isPresent } from '@ember/utils'; import { A } from '@ember/array'; export default Component.extend({ layout, classNames: ['row','no-gutters'], showPaginationNav: computed('totalPages', 'pageRecordsMeta', function() { const onePage = this.get('totalPages') === 1; const moreThanFiveRecords = this.get('pageRecordsMeta.countTotal') > 5; const moreThanOnePage = this.get('totalPages') > 1; return onePage && moreThanFiveRecords || moreThanOnePage && isPresent(this.get('pageRecordsMeta')); }), onPageTask: task(function * (pageNumber, pageSize) { const onPage = yield this.get('onPage'); this.setProperties({ pageNumber: pageNumber, pageSize: pageSize, }); if(isPresent(onPage)) { return yield onPage(pageNumber, pageSize); } }).restartable(), calculatePageSizesTask: task(function * () { const pageSize = yield this.get('pageSize'); const defaultPageSizes = yield this.get('defaultPageSizes'); const validPageSizes = A(A(defaultPageSizes.concat(pageSize)).compact()).uniq(); return yield this.set('validPageSizes', validPageSizes); }).restartable(), init() { this._super(...arguments); this.defaultPageSizes = [5, 10, 25, 50, 100]; }, didReceiveAttrs() { this.get('calculatePageSizesTask').perform(); }, actions: { moveToPage(pageNumber){ return this.get('onPageTask').perform(pageNumber, this.get('pageSize')); }, onPerPage(pageSize) { if(isPresent(pageSize)) { return this.get('onPageTask').perform(1, pageSize); } }, } }); |