Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

the name function & variable is duplicate #449

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
78 changes: 39 additions & 39 deletions src/directives/pagination/dirPagination.js
Original file line number Diff line number Diff line change
Expand Up @@ -30,11 +30,11 @@
.directive('dirPaginateNoCompile', noCompileDirective)
.directive('dirPaginationControls', ['paginationService', 'paginationTemplate', dirPaginationControlsDirective])
.filter('itemsPerPage', ['paginationService', itemsPerPageFilter])
.service('paginationService', paginationService)
.provider('paginationTemplate', paginationTemplateProvider)
.service('paginationService', [paginationService])
.provider('paginationTemplate', [paginationTemplateProvider])
.run(['$templateCache',dirPaginationControlsTemplateInstaller]);

function dirPaginateDirective($compile, $parse, paginationService) {
function dirPaginateDirective($compile, $parse, paginationSrv) {

return {
terminal: true,
Expand All @@ -61,7 +61,7 @@
// If any value is specified for paginationId, we register the un-evaluated expression at this stage for the benefit of any
// dir-pagination-controls directives that may be looking for this ID.
var rawId = tAttrs.paginationId || DEFAULT_ID;
paginationService.registerInstance(rawId);
paginationSrv.registerInstance(rawId);

return function dirPaginationLinkFn(scope, element, attrs){

Expand All @@ -73,8 +73,8 @@
// Needs more investigation.)
// In case rawId != paginationId we deregister using rawId for the sake of general cleanliness
// before registering using paginationId
// paginationService.deregisterInstance(rawId);
paginationService.registerInstance(paginationId);
// paginationSrv.deregisterInstance(rawId);
paginationSrv.registerInstance(paginationId);

var repeatExpression = getRepeatExpression(expression, paginationId);
addNgRepeatToElement(element, attrs, repeatExpression);
Expand All @@ -83,25 +83,25 @@
var compiled = $compile(element);

var currentPageGetter = makeCurrentPageGetterFn(scope, attrs, paginationId);
paginationService.setCurrentPageParser(paginationId, currentPageGetter, scope);
paginationSrv.setCurrentPageParser(paginationId, currentPageGetter, scope);

if (typeof attrs.totalItems !== 'undefined') {
paginationService.setAsyncModeTrue(paginationId);
paginationSrv.setAsyncModeTrue(paginationId);
scope.$watch(function() {
return $parse(attrs.totalItems)(scope);
}, function (result) {
if (0 <= result) {
paginationService.setCollectionLength(paginationId, result);
paginationSrv.setCollectionLength(paginationId, result);
}
});
} else {
paginationService.setAsyncModeFalse(paginationId);
paginationSrv.setAsyncModeFalse(paginationId);
scope.$watchCollection(function() {
return collectionGetter(scope);
}, function(collection) {
if (collection) {
var collectionLength = (collection instanceof Array) ? collection.length : Object.keys(collection).length;
paginationService.setCollectionLength(paginationId, collectionLength);
paginationSrv.setCollectionLength(paginationId, collectionLength);
}
});
}
Expand All @@ -111,10 +111,10 @@

// (TODO: Reverting this due to many bug reports in v 0.11.0. Needs investigation as the
// principle is sound)
// When the scope is destroyed, we make sure to remove the reference to it in paginationService
// When the scope is destroyed, we make sure to remove the reference to it in paginationSrv
// so that it can be properly garbage collected
// scope.$on('$destroy', function destroyDirPagination() {
// paginationService.deregisterInstance(paginationId);
// paginationSrv.deregisterInstance(paginationId);
// });
};
}
Expand Down Expand Up @@ -225,7 +225,7 @@
$templateCache.put('angularUtils.directives.dirPagination.template', '<ul class="pagination" ng-if="1 < pages.length || !autoHide"><li ng-if="boundaryLinks" ng-class="{ disabled : pagination.current == 1 }"><a href="" ng-click="setCurrent(1)">&laquo;</a></li><li ng-if="directionLinks" ng-class="{ disabled : pagination.current == 1 }"><a href="" ng-click="setCurrent(pagination.current - 1)">&lsaquo;</a></li><li ng-repeat="pageNumber in pages track by tracker(pageNumber, $index)" ng-class="{ active : pagination.current == pageNumber, disabled : pageNumber == \'...\' || ( ! autoHide && pages.length === 1 ) }"><a href="" ng-click="setCurrent(pageNumber)">{{ pageNumber }}</a></li><li ng-if="directionLinks" ng-class="{ disabled : pagination.current == pagination.last }"><a href="" ng-click="setCurrent(pagination.current + 1)">&rsaquo;</a></li><li ng-if="boundaryLinks" ng-class="{ disabled : pagination.current == pagination.last }"><a href="" ng-click="setCurrent(pagination.last)">&raquo;</a></li></ul>');
}

function dirPaginationControlsDirective(paginationService, paginationTemplate) {
function dirPaginationControlsDirective(paginationSrv, paginationTemplate) {

var numberRegex = /^\d+$/;

Expand Down Expand Up @@ -265,7 +265,7 @@
var rawId = attrs.paginationId || DEFAULT_ID;
var paginationId = scope.paginationId || attrs.paginationId || DEFAULT_ID;

if (!paginationService.isRegistered(paginationId) && !paginationService.isRegistered(rawId)) {
if (!paginationSrv.isRegistered(paginationId) && !paginationSrv.isRegistered(rawId)) {
var idMessage = (paginationId !== DEFAULT_ID) ? ' (id: ' + paginationId + ') ' : ' ';
if (window.console) {
console.warn('Pagination directive: the pagination controls' + idMessage + 'cannot be used without the corresponding pagination directive, which was not found at link time.');
Expand Down Expand Up @@ -297,8 +297,8 @@
});

scope.$watch(function() {
if (paginationService.isRegistered(paginationId)) {
return (paginationService.getCollectionLength(paginationId) + 1) * paginationService.getItemsPerPage(paginationId);
if (paginationSrv.isRegistered(paginationId)) {
return (paginationSrv.getCollectionLength(paginationId) + 1) * paginationSrv.getItemsPerPage(paginationId);
}
}, function(length) {
if (0 < length) {
Expand All @@ -307,8 +307,8 @@
});

scope.$watch(function() {
if (paginationService.isRegistered(paginationId)) {
return (paginationService.getItemsPerPage(paginationId));
if (paginationSrv.isRegistered(paginationId)) {
return (paginationSrv.getItemsPerPage(paginationId));
}
}, function(current, previous) {
if (current != previous && typeof previous !== 'undefined') {
Expand All @@ -317,8 +317,8 @@
});

scope.$watch(function() {
if (paginationService.isRegistered(paginationId)) {
return paginationService.getCurrentPage(paginationId);
if (paginationSrv.isRegistered(paginationId)) {
return paginationSrv.getCurrentPage(paginationId);
}
}, function(currentPage, previousPage) {
if (currentPage != previousPage) {
Expand All @@ -327,9 +327,9 @@
});

scope.setCurrent = function(num) {
if (paginationService.isRegistered(paginationId) && isValidPageNumber(num)) {
if (paginationSrv.isRegistered(paginationId) && isValidPageNumber(num)) {
num = parseInt(num, 10);
paginationService.setCurrentPage(paginationId, num);
paginationSrv.setCurrentPage(paginationId, num);
}
};

Expand All @@ -346,10 +346,10 @@
};

function goToPage(num) {
if (paginationService.isRegistered(paginationId) && isValidPageNumber(num)) {
if (paginationSrv.isRegistered(paginationId) && isValidPageNumber(num)) {
var oldPageNumber = scope.pagination.current;

scope.pages = generatePagesArray(num, paginationService.getCollectionLength(paginationId), paginationService.getItemsPerPage(paginationId), paginationRange);
scope.pages = generatePagesArray(num, paginationSrv.getCollectionLength(paginationId), paginationSrv.getItemsPerPage(paginationId), paginationRange);
scope.pagination.current = num;
updateRangeValues();

Expand All @@ -365,9 +365,9 @@
}

function generatePagination() {
if (paginationService.isRegistered(paginationId)) {
var page = parseInt(paginationService.getCurrentPage(paginationId)) || 1;
scope.pages = generatePagesArray(page, paginationService.getCollectionLength(paginationId), paginationService.getItemsPerPage(paginationId), paginationRange);
if (paginationSrv.isRegistered(paginationId)) {
var page = parseInt(paginationSrv.getCurrentPage(paginationId)) || 1;
scope.pages = generatePagesArray(page, paginationSrv.getCollectionLength(paginationId), paginationSrv.getItemsPerPage(paginationId), paginationRange);
scope.pagination.current = page;
scope.pagination.last = scope.pages[scope.pages.length - 1];
if (scope.pagination.last < scope.pagination.current) {
Expand All @@ -383,10 +383,10 @@
* template to display the current page range, e.g. "showing 21 - 40 of 144 results";
*/
function updateRangeValues() {
if (paginationService.isRegistered(paginationId)) {
var currentPage = paginationService.getCurrentPage(paginationId),
itemsPerPage = paginationService.getItemsPerPage(paginationId),
totalItems = paginationService.getCollectionLength(paginationId);
if (paginationSrv.isRegistered(paginationId)) {
var currentPage = paginationSrv.getCurrentPage(paginationId),
itemsPerPage = paginationSrv.getItemsPerPage(paginationId),
totalItems = paginationSrv.getCollectionLength(paginationId);

scope.range.lower = (currentPage - 1) * itemsPerPage + 1;
scope.range.upper = Math.min(currentPage * itemsPerPage, totalItems);
Expand Down Expand Up @@ -470,29 +470,29 @@

/**
* This filter slices the collection into pages based on the current page number and number of items per page.
* @param paginationService
* @param paginationSrv
* @returns {Function}
*/
function itemsPerPageFilter(paginationService) {
function itemsPerPageFilter(paginationSrv) {

return function(collection, itemsPerPage, paginationId) {
if (typeof (paginationId) === 'undefined') {
paginationId = DEFAULT_ID;
}
if (!paginationService.isRegistered(paginationId)) {
if (!paginationSrv.isRegistered(paginationId)) {
throw 'pagination directive: the itemsPerPage id argument (id: ' + paginationId + ') does not match a registered pagination-id.';
}
var end;
var start;
if (angular.isObject(collection)) {
itemsPerPage = parseInt(itemsPerPage) || 9999999999;
if (paginationService.isAsyncMode(paginationId)) {
if (paginationSrv.isAsyncMode(paginationId)) {
start = 0;
} else {
start = (paginationService.getCurrentPage(paginationId) - 1) * itemsPerPage;
start = (paginationSrv.getCurrentPage(paginationId) - 1) * itemsPerPage;
}
end = start + itemsPerPage;
paginationService.setItemsPerPage(paginationId, itemsPerPage);
paginationSrv.setItemsPerPage(paginationId, itemsPerPage);

if (collection instanceof Array) {
// the array just needs to be sliced
Expand Down Expand Up @@ -551,7 +551,7 @@
this.deregisterInstance = function(instanceId) {
delete instances[instanceId];
};

this.isRegistered = function(instanceId) {
return (typeof instances[instanceId] !== 'undefined');
};
Expand Down