Skip to content

Commit

Permalink
pagination done and mvoed to its own service
Browse files Browse the repository at this point in the history
  • Loading branch information
eeglbalazs committed Mar 13, 2017
1 parent de68621 commit 2227901
Show file tree
Hide file tree
Showing 3 changed files with 78 additions and 61 deletions.
64 changes: 3 additions & 61 deletions frontend/scripts/settings/controllers/add.topics.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
'use strict';

var PAGINATION_LIMIT = 1
var PAGINATION_LIMIT = 10

angular.module('myApp')
.controller('AddTopicsCtr', function ($scope, $state, Api, Percolate) {
.controller('AddTopicsCtr', function ($scope, $state, Api, Percolate, Pagination) {
console.log('Add New Channel - Topics state')

/* --------------------------------------
Expand Down Expand Up @@ -45,64 +45,6 @@ angular.module('myApp')
return
}

function pagination(paginationData) {
if (!paginationData.total) { return false }
var _pagination = {
pages: Math.floor(paginationData.total/paginationData.limit) + 1,
offsets: [],
activePage: paginationData.offset / paginationData.limit,
}
if ( _pagination.activePage > 0) {
_pagination.prev = {
label: _pagination.activePage - 1,
offset: paginationData.offset - paginationData.limit,
limit: paginationData.limit
}
}
if (_pagination.activePage < _pagination.pages - 2) {
_pagination.next = {
label: _pagination.activePage + 1,
offset: paginationData.offset + paginationData.limit,
limit: paginationData.limit
}
}

if (_pagination.pages > 10) {
var _start = 0
if (_pagination.activePage - 4 > 0) {
_start = _pagination.activePage - 4
}

var _end = _start + 8
if (_end > _pagination.pages - 1) {
_end = _pagination.pages - 1
}

for (var i = _start; i < _end; i++) {
_pagination.offsets.push({
label: i+1,
offset: paginationData.limit * i,
limit: paginationData.limit,
active: paginationData.offset === paginationData.limit * i ? true : false
})
}

} else {

for (var i = 0; i <_pagination.pages; i++) {
_pagination.offsets.push({
label: i+1,
offset: paginationData.limit * i,
limit: paginationData.limit,
active: paginationData.offset === paginationData.limit * i ? true : false
})
}

}
console.log(_pagination);
return _pagination
}

function processWpUsers (res) {
$scope.wpUsers = res.data
if( !$scope.formData.wpUser ) {
Expand Down Expand Up @@ -146,7 +88,7 @@ angular.module('myApp')
$scope.showError('There was an error.')
return
}
$scope.userPagination = pagination(res.data.pagination)
$scope.userPagination = Pagination.build(res.data.pagination)
$scope.percolateUsers = res.data.data
}

Expand Down
68 changes: 68 additions & 0 deletions frontend/scripts/settings/services/pagination.service.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
'use strict';

angular.module('myApp')
.service('Pagination', function() {

function build(paginationData) {
if (!paginationData.total) { return false }
var _pagination = {
pages: Math.floor(paginationData.total/paginationData.limit) + 1,
offsets: [],
activePage: paginationData.offset / paginationData.limit,
}

if (_pagination.pages > 10) {
var _start = 0
if (_pagination.activePage - 4 > 0) {
_start = _pagination.activePage - 4
}

var _end = _start + 8
if (_end > _pagination.pages - 1) {
_end = _pagination.pages - 1
}

for (var i = _start; i < _end; i++) {
_pagination.offsets.push({
label: i+1,
offset: paginationData.limit * i,
limit: paginationData.limit,
active: paginationData.offset === paginationData.limit * i ? true : false
})
}

if ( _pagination.activePage > 4) {
_pagination.prev = {
label: _pagination.activePage - 1,
offset: _start,
limit: paginationData.limit
}
}
if (_pagination.activePage < _pagination.pages - 5) {
_pagination.next = {
label: _pagination.activePage + 1,
offset: _end,
limit: paginationData.limit
}
}

} else {

for (var i = 0; i <_pagination.pages; i++) {
_pagination.offsets.push({
label: i+1,
offset: paginationData.limit * i,
limit: paginationData.limit,
active: paginationData.offset === paginationData.limit * i ? true : false
})
}

}
console.log(_pagination);
return _pagination
}

return {
build : build
}
})
7 changes: 7 additions & 0 deletions percolate-sync.php
Original file line number Diff line number Diff line change
Expand Up @@ -186,6 +186,13 @@ public function addAdminScripts () {
'version' => '1',
'footer' => true
);
$scripts[] = array(
'handle' => 'PerolcateWP-PaginationSrv',
'src' => plugins_url( '/frontend/scripts/settings/services/pagination.service.js', __FILE__ ),
'deps' => array('angular'),
'version' => '1',
'footer' => true
);
$scripts[] = array(
'handle' => 'PerolcateWP-MainCtr',
'src' => plugins_url( '/frontend/scripts/settings/controllers/main.js', __FILE__ ),
Expand Down

0 comments on commit 2227901

Please sign in to comment.