summaryrefslogtreecommitdiffstats
path: root/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-controllers/ds2-reports/report-search-controller.js
diff options
context:
space:
mode:
Diffstat (limited to 'ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-controllers/ds2-reports/report-search-controller.js')
-rw-r--r--ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-controllers/ds2-reports/report-search-controller.js70
1 files changed, 64 insertions, 6 deletions
diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-controllers/ds2-reports/report-search-controller.js b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-controllers/ds2-reports/report-search-controller.js
index e1c5e1e8..36a541ed 100644
--- a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-controllers/ds2-reports/report-search-controller.js
+++ b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-controllers/ds2-reports/report-search-controller.js
@@ -2,13 +2,17 @@ appDS2.requires.push('ui.grid');
appDS2.requires.push('ui.grid.pagination');
appDS2.requires.push('ui.grid.resizeColumns');
appDS2.controller("reportSearchController", ['$scope','$rootScope','$http','$timeout','uiGridConstants','$modal','$q','$log','raptorReportFactory',function ($scope,$rootScope,$http,$timeout,uiGridConstants,$modal,$q,$log,raptorReportFactory) {
-
+ $scope.showLoader=false;
$scope.getSearchData = function(){
+ $scope.showLoader=true;
+
raptorReportFactory.getSearchData().then(function(data){
$scope.searchdData = data;
},function(error){
$log.error("raptorReportFactory: getSearchData failed.");
- });
+ }).finally(function() {
+ $scope.showLoader=false;// Always execute this on both error and success
+ });;
}
$scope.getSearchData();
@@ -21,12 +25,15 @@ appDS2.controller("reportSearchController", ['$scope','$rootScope','$http','$tim
if($scope.reportName && $scope.reportName!=''){
searchParams = searchParams+'&rep_name='+$scope.reportName+'&rep_name_options='+$scope.operatorRepName.index;
}
-
+ $scope.showLoader=true;
var pageSearchParameter = ($scope.paginationOptions.pageNumber-1)+searchParams
raptorReportFactory.getSearchDataAtPage(pageSearchParameter).then(function(data){
$scope.searchdData = data
},function(error){
$log.error("raptorReportFactory: getSearchDataAtPage failed.");
+ }).finally(function() {
+ $scope.showLoader=false;// Always execute this on both error and success
+
});
};
@@ -37,6 +44,57 @@ appDS2.controller("reportSearchController", ['$scope','$rootScope','$http','$tim
sort: null
};
+ function convertValue(v){
+ return parseInt(v.displayValue);
+ }
+
+ $scope.getSortingAlgorithm= function (columnName) {
+ return function(a, b, rowA, rowB, direction) {
+ console.log("sorting by column " + columnName,a,b);
+ if(columnName=='rep_id'){
+ if(a && b && a.displayValue && b.displayValue){
+ if (convertValue(a) == convertValue(b)) return 0;
+ if (convertValue(a) < convertValue(b)) return -1;
+ if (convertValue(a) > convertValue(b)) return 1;
+ }else{
+ return 0;
+ }
+ }else if(columnName=='rep_name'){
+ if(a && b && a.displayValue && b.displayValue){
+ if (a.displayValue == b.displayValue) return 0;
+ if (a.displayValue < b.displayValue) return -1;
+ if (a.displayValue > b.displayValue) return 1;
+ }else{
+ return 0;
+ }
+ }else if(columnName=='descr'){
+ if(a && b && a.displayValue && b.displayValue){
+ if (a.displayValue == b.displayValue) return 0;
+ if (a.displayValue < b.displayValue) return -1;
+ if (a.displayValue > b.displayValue) return 1;
+ }else{
+ return 0;
+ }
+ }else if(columnName=='owner'){
+ if(a && b && a.displayValue && b.displayValue){
+ if (a.displayValue == b.displayValue) return 0;
+ if (a.displayValue < b.displayValue) return -1;
+ if (a.displayValue > b.displayValue) return 1;
+ }else{
+ return 0;
+ }
+ }else if(columnName=='create_date'){
+ if(a && b && a.displayValue && b.displayValue){
+ if (a.displayValue == b.displayValue) return 0;
+ if (a.displayValue < b.displayValue) return -1;
+ if (a.displayValue > b.displayValue) return 1;
+ }else{
+ return 0;
+ }
+ }
+ }
+ };
+
var correctTotalPaginationTemplate =
//same as normal template, but fixed totals: {{(((grid.options.paginationCurrentPage-1)*grid.options.paginationPageSize)+1)}} {{(grid.options.paginationCurrentPage*grid.options.paginationPageSize>grid.options.totalItems?grid.options.totalItems:grid.options.paginationCurrentPage*grid.options.paginationPageSize)}}
"<div role=\"contentinfo\" class=\"ui-grid-pager-panel\" ui-grid-pager ng-show=\"grid.options.enablePaginationControls\"><div role=\"navigation\" class=\"ui-grid-pager-container\"><div role=\"menubar\" class=\"ui-grid-pager-control\"><button type=\"button\" role=\"menuitem\" class=\"ui-grid-pager-first\" ui-grid-one-bind-title=\"aria.pageToFirst\" ui-grid-one-bind-aria-label=\"aria.pageToFirst\" ng-click=\"pageFirstPageClick()\" ng-disabled=\"cantPageBackward()\"><div class=\"first-triangle\"><div class=\"first-bar\"></div></div></button> <button type=\"button\" role=\"menuitem\" class=\"ui-grid-pager-previous\" ui-grid-one-bind-title=\"aria.pageBack\" ui-grid-one-bind-aria-label=\"aria.pageBack\" ng-click=\"pagePreviousPageClick()\" ng-disabled=\"cantPageBackward()\"><div class=\"first-triangle prev-triangle\"></div></button> <input type=\"number\" ui-grid-one-bind-title=\"aria.pageSelected\" ui-grid-one-bind-aria-label=\"aria.pageSelected\" class=\"ui-grid-pager-control-input\" ng-model=\"grid.options.paginationCurrentPage\" min=\"1\" max=\"{{ paginationApi.getTotalPages() }}\" required> <span class=\"ui-grid-pager-max-pages-number\" ng-show=\"paginationApi.getTotalPages() > 0\"><abbr ui-grid-one-bind-title=\"paginationOf\">/</abbr> {{ paginationApi.getTotalPages() }}</span> <button type=\"button\" role=\"menuitem\" class=\"ui-grid-pager-next\" ui-grid-one-bind-title=\"aria.pageForward\" ui-grid-one-bind-aria-label=\"aria.pageForward\" ng-click=\"pageNextPageClick()\" ng-disabled=\"cantPageForward()\"><div class=\"last-triangle next-triangle\"></div></button> <button type=\"button\" role=\"menuitem\" class=\"ui-grid-pager-last\" ui-grid-one-bind-title=\"aria.pageToLast\" ui-grid-one-bind-aria-label=\"aria.pageToLast\" ng-click=\"pageLastPageClick()\" ng-disabled=\"cantPageToLast()\"><div class=\"last-triangle\"><div class=\"last-bar\"></div></div></button></div><div class=\"ui-grid-pager-row-count-picker\" ng-if=\"grid.options.paginationPageSizes.length > 1\"><select ui-grid-one-bind-aria-labelledby-grid=\"'items-per-page-label'\" ng-model=\"grid.options.paginationPageSize\" ng-options=\"o as o for o in grid.options.paginationPageSizes\"></select><span ui-grid-one-bind-id-grid=\"'items-per-page-label'\" class=\"ui-grid-pager-row-count-label\">&nbsp;{{sizesLabel}}</span></div><span ng-if=\"grid.options.paginationPageSizes.length <= 1\" class=\"ui-grid-pager-row-count-label\">{{grid.options.paginationPageSize}}&nbsp;{{sizesLabel}}</span></div><div class=\"ui-grid-pager-count-container\"><div class=\"ui-grid-pager-count\"><span ng-show=\"grid.options.totalItems > 0\">{{(((grid.options.paginationCurrentPage-1)*grid.options.paginationPageSize)+1)}} <abbr ui-grid-one-bind-title=\"paginationThrough\">-</abbr> {{(grid.options.paginationCurrentPage*grid.options.paginationPageSize>grid.options.totalItems?grid.options.totalItems:grid.options.paginationCurrentPage*grid.options.paginationPageSize)}} {{paginationOf}} {{grid.options.totalItems}} {{totalItemsLabel}}</span></div></div></div>";
@@ -103,15 +161,15 @@ appDS2.controller("reportSearchController", ['$scope','$rootScope','$http','$tim
} else {
$scope.gridOptions.columnDefs.push({ displayName: entry.columnTitle, field: entry.columnId,
enableSorting: true,
+ sortingAlgorithm: $scope.getSortingAlgorithm(entry.columnId),
cellTemplate: '<div class="ui-grid-cell-contents" style="text-align:{{COL_FIELD.alignment}};" title="TOOLTIP"> <div>{{COL_FIELD.displayValue}}</div> </div>'
});
}
});
-
+ $scope.gridOptions.useExternalPagination=true;
$scope.gridOptions.paginationPageSizes= [$scope.searchdData.metaReport.pageSize];
- $scope.gridOptions.paginationPageSize= $scope.searchdData.metaReport.pageSize;
+ $scope.gridOptions.paginationPageSize= 50;//$scope.searchdData.metaReport.pageSize;
$scope.gridOptions.totalItems = $scope.searchdData.metaReport.totalSize;
-
$scope.gridOptions.data = [];
$scope.searchdData.rows[0].forEach(function(entry) {
var localData = {};