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
|
/*-
* ============LICENSE_START=======================================================
* ECOMP Policy Engine
* ================================================================================
* Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
* ================================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* ============LICENSE_END=========================================================
*/
/**
*/
var app = angular.module('abs');
app.controller('exportPolicyController', function ($scope, $window, ExportPolicyService, modalService, $modal, Notification){
$( "#dialog" ).hide();
$scope.linkEnable = true;
$scope.gridOptions = {
onRegisterApi: function(gridApi) {
$scope.gridPolicyApi = gridApi;
},
enableSorting: true,
enableFiltering: true,
showTreeExpandNoChildren: true,
paginationPageSizes: [10, 20, 50, 100],
paginationPageSize: 20,
columnDefs: [{name: 'name'}, {name: 'version'}, {name: 'dateModified'}]
};
$scope.files;
ExportPolicyService.getAutoPushPoliciesData().then(function (data1) {
$scope.loading = false;
$scope.files = data1.data;
var data = data1.data;
var id=0;
var writeoutNode = function(childArray, currentLevel, dataArray){
childArray.forEach( function(childNode){
if (childNode.files.length > 0){
childNode.$$treeLevel = currentLevel;
id=childNode.categoryId;
if(childNode.categoryId == childNode.parentCategoryId){
childNode.parent='';
}
}else{
if((id!=childNode.parentCategoryId) || (childNode.categoryId == childNode.parentCategoryId)){
if(childNode.categoryId == childNode.parentCategoryId){
childNode.parent='';
}
childNode.$$treeLevel = currentLevel;
}
}
dataArray.push( childNode );
writeoutNode( childNode.files, currentLevel + 1, dataArray );
});
};
$scope.gridOptions.data = [];
writeoutNode(data, 0, $scope.gridOptions.data);
}, function (error) {
console.log("failed");
});
$scope.urlLink;
$scope.download = function(){
var policySelection = $scope.gridPolicyApi.selection.getSelectedRows();
console.log(policySelection);
var finalData = {
"policyDatas": policySelection
};
console.log(finalData);
var uuu = "policy_download/exportPolicy.htm";
var postData={exportData: finalData};
$.ajax({
type : 'POST',
url : uuu,
dataType: 'json',
contentType: 'application/json',
data: JSON.stringify(postData),
success : function(data){
$scope.$apply(function(){
$scope.data=data.data;
var url = '../' + $scope.data;
window.location = url;
Notification.success("Policies Exported Successfully");
});
console.log($scope.data);
},
error : function(data){
Notification.error("Error Occured while Exporting Policy.");
}
});
};
$scope.close = function() {
$modalInstance.close();
};
});
|