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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
|
app.controller("reportSearchController", ['$scope','$rootScope','$http','$timeout',function ($scope,$rootScope,$http,$timeout) {
$http.get('raptor.htm?action=report.search.execute&r_page=0').then(
function(result){$scope.searchdData = result.data;
});
$scope.runReport = function(){
var searchParams = '';
if($scope.reportId && $scope.reportId!=''){
searchParams = '&rep_id='+$scope.reportId+'&rep_id_options='+$scope.operatorRepId.index;
}
if($scope.reportName && $scope.reportName!=''){
searchParams = searchParams+'&rep_name='+$scope.reportName+'&rep_name_options='+$scope.operatorRepName.index;
}
console.log('raptor.htm?action=report.search.execute&r_page='+(paginationOptions.pageNumber-1)+searchParams);
$http.get('raptor.htm?action=report.search.execute&r_page='+(paginationOptions.pageNumber-1)+searchParams).then(
function(result){$scope.searchdData = result.data;
});
//quantum/raptor.htm?action=report.search.execute&rep_id=1000&rep_id_options=2&rep_name=cross&rep_name_options=2
};
var paginationOptions = {
pageNumber: 1,
pageSize: 5,
sort: null
};
$scope.gridOptions = {
paginationPageSizes: [5],
paginationPageSize: 5,
useExternalPagination: true,
columnDefs: [],
data: [],
enableGridMenu: true,
enableSelectAll: true,
exporterMenuPdf: false,
exporterMenuCsv: false,
exporterCsvFilename: 'myFile.csv',
exporterPdfDefaultStyle: {fontSize: 9},
exporterPdfTableStyle: {margin: [30, 30, 30, 30]},
exporterPdfTableHeaderStyle: {fontSize: 10, bold: true, italics: true, color: 'red'},
exporterPdfHeader: { text: "My Header", style: 'headerStyle' },
exporterPdfFooter: function ( currentPage, pageCount ) {
return { text: currentPage.toString() + ' of ' + pageCount.toString(), style: 'footerStyle' };
},
exporterPdfCustomFormatter: function ( docDefinition ) {
docDefinition.styles.headerStyle = { fontSize: 22, bold: true };
docDefinition.styles.footerStyle = { fontSize: 10, bold: true };
return docDefinition;
},
exporterPdfOrientation: 'portrait',
exporterPdfPageSize: 'LETTER',
exporterPdfMaxGridWidth: 500,
exporterCsvLinkElement: angular.element(document.querySelectorAll(".custom-csv-link-location")),
onRegisterApi: function(gridApi) {
$scope.gridApi = gridApi;
gridApi.pagination.on.paginationChanged($scope, function (newPage, pageSize) {
paginationOptions.pageNumber = newPage;
paginationOptions.pageSize = pageSize;
$scope.runReport();
});
}
};
var getPage = function() {
$scope.gridOptions.columnDefs = [];
$scope.searchdData.columns[0].forEach(function(entry) {
if(entry.columnTitle=='Run'){
$scope.gridOptions.columnDefs.push({ displayName: entry.columnTitle, field: entry.columnId+'==drillDownLink', enableSorting: false,
cellTemplate: '<div class="ui-grid-cell-contents"><a ng-href="#/report_run/{{COL_FIELD.substr(39)}}" class="icon-play" style="font-size:20px;"></a></div>'
});
} else if(entry.columnTitle=='Edit'){
$scope.gridOptions.columnDefs.push({ displayName: entry.columnTitle, field: entry.columnId+'==drillDownLink', enableSorting: false,
cellTemplate: '<div class="ui-grid-cell-contents"><a ng-href="{{COL_FIELD}}" class="icon-edit" style="font-size:20px;"></a></div>'
});
} else if(entry.columnTitle=='Delete'){
$scope.gridOptions.columnDefs.push({ displayName: entry.columnTitle, field: entry.columnId+'==drillDownLink', enableSorting: false,
cellTemplate: '<div class="ui-grid-cell-contents"><a href="" ng-click="grid.appScope.deleteReport(COL_FIELD,row)" class="icon-trash" style="font-size:20px;"></a></div>'
});
} else if(entry.columnTitle=='Copy'){
$scope.gridOptions.columnDefs.push({ displayName: entry.columnTitle, field: entry.columnId+'==drillDownLink', enableSorting: false,
cellTemplate: '<div class="ui-grid-cell-contents"><a ng-href="{{COL_FIELD}}" class="icon-plans" style="font-size:20px;"></a></div>'
});
} else if(entry.columnTitle=='Schedule'){
//$scope.gridOptions.columnDefs.push({ displayName: entry.columnTitle, field: entry.columnId+'==drillDownLink',
// cellTemplate: '<div class="ui-grid-cell-contents"><a ng-href="{{COL_FIELD}}" class="full-linear-icon-calendar" style="font-size:20px;font-weight: bold;"></a></div>'
//});
} else if(entry.columnTitle=='No'){
} else {
$scope.gridOptions.columnDefs.push({ displayName: entry.columnTitle, field: entry.columnId+'==displayValue'});
}
});
$scope.gridOptions.data = $scope.searchdData.rows[0];
$scope.gridOptions.paginationPageSizes= [$scope.searchdData.metaReport.pageSize];
$scope.gridOptions.paginationPageSize= $scope.searchdData.metaReport.pageSize;
$scope.gridOptions.totalItems = $scope.searchdData.metaReport.totalSize;
};
$scope.$watch("searchdData",function(newValue,oldValue) {
if($scope.searchdData){
getPage();
}
});
$scope.operatorsRepId = [{index: 0, value: 'Equal To', title: 'Equal To', alias:'Equal To'},
{index: 1, value: 'Less Than', title: 'Less Than', alias:'Less Than'},
{index: 2, value: 'Greater Than', title: 'Greater Than', alias:'Greater Than'}];
$scope.operatorsRepName = [{index: 0, value: 'Starts With', title: 'Starts With', alias:'Starts With'},
{index:1, value: 'Ends With', title: 'Ends With', alias:'Ends With'},
{index: 2, value: 'Contains', title: 'Contains', alias:'Contains'}];
$scope.deleteReport = function(reportDeleteUrl,row) {
if (confirm("Please confirm: Are you sure you want to delete report #" + reportDeleteUrl.substr(41) + "?")) {
$http.get(reportDeleteUrl).then(
function(result){
if(result.data=='deleted:true'){
var index = $scope.gridOptions.data.indexOf(row.entity);
$scope.gridOptions.data.splice(index, 1);
alert("Report deleted.");
} else {
alert("Report not deleted.");
}
}
);
}
};
$timeout(function() {
$rootScope.isViewRendering = false;
});
}]);
|