commonModule.
controller('ackPaginationController', ['SweetAlert', '$scope', '$log', '$translate', '$location', '$timeout', '$interval', '$uibModal', '$document', 'InvoiceManageService',
    function (SweetAlert, $scope, $log, $translate, $location, $timeout, $interval, $uibModal, $document, InvoiceManageService) {

        //分页的设置
        $scope.pagingOptions = {
            pageIndex: $scope.pageOptions.pageIndex || 1,  //当前页码
            totalItems: $scope.pageOptions.totalItems || 0,  //总数据
            totalPages: $scope.pageOptions.totalPages || 0,//总页数
            maxSize: $scope.pageOptions.maxSize || 10, //分页数字的限制。
            pageSize: $scope.pageOptions.pageSize || constant.page.pageSizeArrary[1],  //每页多少条数据 
            pageSizeString: $scope.pageOptions.pageSizeString||constant.page.pageSizeArrary[1].toString(),
            pagingSelection: $scope.pageOptions.pagingSelection||[],
            firstPage: '<<', //$translate.instant('PagingFirstPage'),
            previousPage: '<', //$translate.instant('PagingPreviousPage'),
            nextPage:'>',// $translate.instant('PagingNextPage'),
            lastPage: '>>', //$translate.instant('PagingLastPage'),
        };

        //赋值
        $scope.pageOptions = $scope.pagingOptions;
        $scope.hideSelector = $scope.hidePageSizeSelector ? true : false;

        var refreshDataTable = function () {
       
            if (_.isFunction($scope.refreshTable)) {
                $scope.refreshTable();
            }
        };

        //分页里面的处理
        $scope.pagingService = {
            //分页下拉组装
            populatePagingSelection: function () {
                if($scope.pageOptions.pagingSelection.length==0){
                    var pagingSelection = [];
                    var pageArray = constant.page.pageSizeArrary;
                    for (var i = 0 ; i < pageArray.length; i++) {
                        var selection = { id: pageArray[i], value: pageArray[i] };
                        pagingSelection.push(selection);
                    }
                    $scope.pageOptions.pagingSelection = pagingSelection;
                }
            },

            //分页的时候改变数字
            pageIndexChanging: function () {
                if ($scope.pageOptions.pageIndex > $scope.pageOptions.totalPages) {
                    $scope.pagingOptions.pageIndex = $scope.pageOptions.totalPages;
                }
                if ($scope.pageOptions.pageIndex <= 0) {
                    $scope.pageOptions.pageIndex = 1;
                }

                $log.log('Page changed to: ' + $scope.pageOptions.pageIndex);
                refreshDataTable();
            },

            //每页显示的数据下拉改变
            pageSizeSelectionChanged: function () {
                $scope.pageOptions.pageSize = parseInt($scope.pageOptions.pageSizeString);
                refreshDataTable();
            },
        };



        (function initialize() {
            $log.debug('ackPaginationController.ctor()...');

            $scope.pagingService.populatePagingSelection();
        
        })();
    }
]);