2 * ============LICENSE_START=======================================================
4 * ================================================================================
5 * Copyright (C) 2017 AT&T Intellectual Property. All rights
7 * ================================================================================
8 * Licensed under the Apache License, Version 2.0 (the "License");
9 * you may not use this file except in compliance with the License.
10 * You may obtain a copy of the License at
12 * http://www.apache.org/licenses/LICENSE-2.0
14 * Unless required by applicable law or agreed to in writing, software
15 * distributed under the License is distributed on an "AS IS" BASIS,
16 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17 * See the License for the specific language governing permissions and
18 * limitations under the License.
19 * ============LICENSE_END============================================
20 * ===================================================================
21 * ECOMP is a trademark and service mark of AT&T Intellectual Property.
27 function DashboardCtrl($scope,$rootScope,$resource, $http, $timeout, $location, $interval, $q, Datafactory)
29 console.log("//////////////DashboardCtrl");
30 $scope.autosaveInterval = 1800000;
31 $scope.testsetgendashboard = false;
32 $rootScope.isModel = false;
33 $rootScope.isPalette = false;
34 $rootScope.isTestSet = false;
35 $rootScope.isRequirementCoverage = false;
36 $rootScope.ispropertyExplorer = false;
37 $rootScope.parameters;
38 $scope.orientation ="horizontal";
39 $rootScope.ispropertyExplorer = false;
40 $rootScope.isActive =true;
42 $scope.selectedParent={};
43 $rootScope.utmModels={};
44 $rootScope.selectedModelName;
45 $rootScope.dialogName="";
48 $interval( function(){
49 console.log("interval");
50 /*AutosaveProject($scope,$rootScope,$resource, $http, $timeout, $location, $interval,
52 }, $scope.autosaveInterval);
55 $rootScope.onSelectActivityModel =function(obj)
57 console.log("onSelectActivityModel");
59 $rootScope.isPalette = true;
60 $rootScope.isTestSet = false;
61 $rootScope.isRequirementCoverage = false;
62 $rootScope.ispropertyExplorer = false;
63 //document.getElementById('propertyExplorer').classList.remove('visible');
65 //$( "#propertyExplorer" ).prev().css( "display" ,"block");
66 $( "#activity_modeler" ).prev().css( "display", "block" );
67 $( 'div' ).find('.k-expand-next').click();
70 document.getElementById("modeler_name").textContent="Activity Modeler" ;
73 document.getElementById("modeler_name").textContent="Activity Modeler"+" - "+ selected_model ;
76 $rootScope.modelName = selected_model;
78 $rootScope.modeltestset = list_model_test_sets[selected_model];
79 if(list_model_schema_extensions[selected_model] == null){
80 if(list_model_schema_extensions[$rootScope.utmModels.name] != null) {
81 list_model_schema_extensions[selected_model] = jQuery.extend(true, {}, list_model_schema_extensions[$rootScope.utmModels.name]);
83 list_model_schema_extensions[selected_model] = {};
87 $rootScope.initProjectExplorer();
90 changecolor(selected_model);
94 $scope.selectActivityTestSet =function()
96 console.log("selectActivityTestSet");
97 $rootScope.isPalette = false;
98 $rootScope.isRequirementCoverage = false;
99 $rootScope.isTestset = true;
100 document.getElementById("modeler_name").textContent="UTM Test Set";
101 //document.getElementById('propertyExplorer').classList.add('visible');
102 //$( "#propertyExplorer" ).prev().css( "display" ,"none");
103 $( 'div' ).find('.k-collapse-next').click();
104 $rootScope.modeltestset = list_model_test_sets[selected_model];
108 $scope.showPalette= function(){
109 console.log("showPalette");
110 //alert("showPalette()");
111 $rootScope.isModel = true;
112 // $rootScope.isPalette = true;
116 //$scope.initialShow=false;
118 if("/testsetgendashboard"==$location.url())
120 $scope.testsetgendashboard = true;
123 $rootScope.total_users = 0;
124 $scope.showUserView = true;
125 $scope.showTestExecution = true;
126 //$rootScope.total_accounts = 606;
127 $scope.showAccountView = true;
129 $rootScope.total_creation_times = 0;
130 $rootScope.success_rate_percent = 0;//(((data.data[0].value*1.0)/(data.data[0].value+data.data[1].value))*100).toFixed();
131 $rootScope.total_accounts = 0;
132 $scope.showCreation_timeView = true;
133 $scope.showSuccess_ratePercent = true;
136 //$scope.generalMessages= "This section will show general messages/alerts.";
137 $scope.gridHeaderMessages= "TestData Self-Service: Select TestCase and Click on Run button!!!";
141 $scope.dt = new Date();
142 $scope.clear = function () {
143 console.log("clear");
147 // Disable weekend selection
148 $scope.disabled = function(date, mode) {
149 console.log("disabled");
150 return ( mode === 'day' && ( date.getDay() === 0 || date.getDay() === 6 ) );
153 $scope.toggleMin = function() {
154 console.log("toggleMin");
155 $scope.minDate = $scope.minDate ? null : new Date();
159 $scope.open2 = function($event) {
160 console.log("open2");
161 $event.preventDefault();
162 $event.stopPropagation();
163 console.log(' herro: is the value of opened');
164 $scope.opened = true;
165 console.log($scope.opened + ' is the value of opened');
168 $scope.dateOptions = {
173 $scope.formats = ['dd-MMMM-yyyy', 'yyyy/MM/dd', 'dd.MM.yyyy', 'shortDate'];
174 $scope.format = $scope.formats[0];
176 $scope.disabled = function(date, mode)
178 console.log("disabled");
179 return ( mode === 'day' && ( date.getDay() === -1 || date.getDay() === 7 ) );
182 $scope.maxDate = new Date();
185 $scope.open = function($event,opened) {
187 $event.preventDefault();
188 $event.stopPropagation();
190 $scope[opened] = true;
194 $scope.dateOptions = {
195 'year-format': "'yy'",
199 $scope.date = "29-December-2014";
200 $scope.date2 = new Date();
202 $scope.printDate = function()
204 console.log("printDate");
213 $scope.returnObjectArray = function(arrayObj)
215 console.log("returnObjectArray");
216 var newArrayObj = [];
218 angular.forEach(arrayObj, function(value, key)
220 console.log("arrayObj");
221 newArrayObj.push({"data":value});
228 $scope.returnTestScenarioTstObjectArray = function(arrayObj)
230 console.log("returnTestScenarioTstObjectArray");
231 var newArrayObj = [];
233 angular.forEach(arrayObj, function(value, key)
235 console.log("arrayObj");
236 if( value.testScenarioInstances !=undefined && value.testScenarioInstances.length !=0){
237 var tempLabel = value.testScenarioInstances[0].label.split(":");
238 newArrayObj.push({"data":tempLabel[0]});
249 $scope.returnOverRiddenObjectArray = function(arrayObj)
251 console.log("returnOverRiddenObjectArray");
252 var newArrayObj = [];
254 angular.forEach(arrayObj, function(value, key)
256 console.log("arrayObj");
257 newArrayObj.push({"data":value.name});
266 $rootScope.filterRouter = 'partials/DashboardFilters.html';
267 $scope.isActivePROD = true;
268 $scope.isActiveQC = false;
269 $rootScope.reload = function(env)
271 console.log("reload");
274 $scope.showTDSSView = true;
276 $scope.ReLoadDashboardFromViewResetComboBox = function(type, amount)//('Users','All') ('Accounts','All') ('Creation_times','All')
278 console.log("ReLoadDashboardFromViewResetComboBox");
283 //////////////////////////////////
285 $scope.total_tdr_team_selected_model = [];
286 $scope.total_tdr_users_selected_model = [];
287 $scope.total_tdr_requests_selected_model = [];
288 $scope.total_tdr_entities_selected_model = [];
290 $scope.reloadTDRDashboard = function(name)
292 console.log("reloadTDRDashboard");
293 var url = "/testdata-service/test-data-request/dashboard/counts.json?";
295 $http.get(url+params).success(function(data)
297 console.log("success");
298 $scope.total_tdr_team_count = data.result.dashboardCountModel.teams;
299 $scope.total_tdr_users_count = data.result.dashboardCountModel.users;
300 $scope.total_tdr_requests_count = data.result.dashboardCountModel.requests;
301 $scope.total_tdr_entities_count = data.result.dashboardCountModel.entities;
306 $scope.total_tdr_team_array = $scope.returnObjectArray(data.result.tdrDashboardModel.teams);
307 $scope.TDRTeamGridId.api().clear().draw();
308 $scope.TDRTeamGridId.fnAddData($scope.total_tdr_team_array);
314 $scope.total_tdr_users_array = $scope.returnObjectArray(data.result.tdrDashboardModel.users);
315 $scope.TDRUserGridId.api().clear().draw();
316 $scope.TDRUserGridId.fnAddData($scope.total_tdr_users_array);
321 $scope.total_tdr_entities_array = $scope.returnObjectArray(data.result.tdrDashboardModel.entities);
322 $scope.TDREntitiesGridId.api().clear().draw();
323 $scope.TDREntitiesGridId.fnAddData($scope.total_tdr_entities_array);
328 $scope.total_tdr_requests_array = $scope.returnObjectArray(data.result.tdrDashboardModel.requests);
329 $scope.TDRNumberGridId.api().clear().draw();
330 $scope.TDRNumberGridId.fnAddData($scope.total_tdr_requests_array);
337 $scope.loadTDRDashboard = function()
339 console.log("loadTDRDashboard");
340 $rootScope.launch('wait');
343 var apiJobUrl = "/utm-service/em/jobs?timezoneOffset=420";
345 $http.get(apiJobUrl).success(function(data)
347 console.log("success");
348 $scope.total_test_scenario_count = data.length;
351 $scope.TDRNumberGridId = $('#TDRNumberGridId').dataTable( {
355 { "sTitle": "","mDataProp": null, "sWidth": "20px", "bSortable": false},
356 { "sTitle":"Total TestScenarios","mDataProp": "data","bSortable": true}
358 //"columns": [{"data": "data"}],
359 "order": [[ 1, "asc" ]],
364 "bScrollCollapse": false,
365 "bLengthChange":false,
367 "search": {"caseInsensitive": true},
370 "sScrollXInner": "100%",
371 "fnCreatedRow": function( nRow, aData, iDataIndex )
373 console.log("fnCreatedRow");
374 $(nRow).children("td").css("overflow", "hidden");
375 $(nRow).children("td").css("white-space", "nowrap");
376 $(nRow).children("td").css("text-overflow", "ellipsis");
380 angular.forEach($scope.total_tdr_requests_selected_model, function (value)
382 console.log("total_tdr_requests_selected_model");
383 if(aData.data==value.id)
391 $('td:eq(0)', nRow).html( '<span class="tdr_checkbox tdr_checkbox_glyphicon_glyphicon_ok glyphicon glyphicon-ok" id="'+aData.data+'"></span>');
395 $('td:eq(0)', nRow).html( '<span class="tdr_checkbox tdr_checkbox_glyphicon_glyphicon_unchecked glyphicon glyphicon-unchecked" id="'+aData.data+'"></span>');
402 $scope.total_tdr_requests_array = $scope.returnOverRiddenObjectArray(data);
404 if($scope.total_tdr_requests_array.length > 0)
406 $scope.TDRNumberGridId.fnAddData($scope.total_tdr_requests_array);
413 $('#TDRNumberGridId tbody').on( 'click', 'td', function ()
415 console.log("click");
416 var position = $scope.TDRNumberGridId.fnGetPosition(this); // getting the clicked row position
421 var valueX = this.innerHTML;
423 $('.tdr_checkbox').each(function(i, obj)
425 console.log("tdr_checkbox");
426 var uncheck = $(obj).hasClass( "glyphicon-unchecked");
428 if(valueX==obj.id && uncheck)
430 $(obj).attr('class','tdr_checkbox tdr_checkbox_glyphicon_glyphicon_ok glyphicon glyphicon-ok');
432 else if(valueX==obj.id && !uncheck)
434 $(obj).attr('class','tdr_checkbox tdr_checkbox_glyphicon_glyphicon_unchecked glyphicon glyphicon-unchecked');
439 if($('.tdr_checkbox_glyphicon_glyphicon_ok').length <= 0)
441 $scope.total_tdr_requests_selected_model = [];
442 $scope.total_tdr_requests_selected_model.push({'id':'All'});
446 $scope.total_tdr_requests_selected_model = [];
448 $('.tdr_checkbox_glyphicon_glyphicon_ok').each(function(i, obj)
450 console.log("tdr_checkbox_glyphicon_glyphicon_ok");
451 $scope.total_tdr_requests_selected_model.push({'id':obj.id});
458 var valueX = this.innerHTML.substring(this.innerHTML.indexOf("id=\"")+4,this.innerHTML.length-9);
460 $('.tdr_checkbox').each(function(i, obj)
462 console.log("tdr_checkbox");
463 var uncheck = $(obj).hasClass( "glyphicon-unchecked");
465 if(valueX==obj.id && uncheck)
467 $(obj).attr('class','tdr_checkbox tdr_checkbox_glyphicon_glyphicon_ok glyphicon glyphicon-ok');
469 else if(valueX==obj.id && !uncheck)
471 $(obj).attr('class','tdr_checkbox tdr_checkbox_glyphicon_glyphicon_unchecked glyphicon glyphicon-unchecked');
477 if($('.tdr_checkbox_glyphicon_glyphicon_ok').length <= 0)
479 $scope.total_tdr_requests_selected_model = [];
480 $scope.total_tdr_requests_selected_model.push({'id':'All'});
484 $scope.total_tdr_requests_selected_model = [];
485 $('.tdr_checkbox_glyphicon_glyphicon_ok').each(function(i, obj)
487 console.log("tdr_checkbox_glyphicon_glyphicon_ok");
488 $scope.total_tdr_requests_selected_model.push({'id':obj.id});
493 $scope.reloadTDRDashboard('request');
495 //$scope.initialShow=true;
496 $rootScope.$broadcast('dialogs.wait.complete');
505 $scope.getCommaSeparatedString = function(json)
507 console.log("getCommaSeparatedString");
508 if(json==undefined || json==null)
516 for (var dString in json)
518 result += json[dString].id + ",";
522 var res = result.match(/All,/g);
524 if(res!=null && result.split(",").length > 1)
526 result = result.replace("All,", "");
529 if(!found || result=="")
534 return result.replace(/,(\s+)?$/, '');
538 /*if("/dashboard"==$location.url())
540 $scope.loadTDRDashboard();
545 $scope.reloadTDRDashboardFromReset = function(name)
547 console.log("reloadTDRDashboardFromReset");
548 var url = "/testdata-service/test-data-request/dashboard/counts.json?";
549 var params = "teams="+$scope.getCommaSeparatedString($scope.total_tdr_team_selected_model);
550 params = params + "&users="+$scope.getCommaSeparatedString($scope.total_tdr_users_selected_model);
551 params = params + "&requests="+$scope.getCommaSeparatedString($scope.total_tdr_requests_selected_model);
552 params = params + "&status="+$scope.getCommaSeparatedString($scope.total_tdr_entities_selected_model);
554 $http.get(url+params).success(function(data)
556 console.log("success");
557 $scope.total_tdr_team_count = data.result.dashboardCountModel.teams;
558 $scope.total_tdr_users_count = data.result.dashboardCountModel.users;
559 $scope.total_tdr_requests_count = data.result.dashboardCountModel.requests;
560 $scope.total_tdr_entities_count = data.result.dashboardCountModel.entities;
562 $scope.total_tdr_team_array = $scope.returnObjectArray(data.result.tdrDashboardModel.teams);
563 $scope.TDRTeamGridId.api().clear().draw();
564 $scope.TDRTeamGridId.fnAddData($scope.total_tdr_team_array);
566 $scope.total_tdr_users_array = $scope.returnObjectArray(data.result.tdrDashboardModel.users);
567 $scope.TDRUserGridId.api().clear().draw();
568 $scope.TDRUserGridId.fnAddData($scope.total_tdr_users_array);
570 $scope.total_tdr_entities_array = $scope.returnObjectArray(data.result.tdrDashboardModel.entities);
571 $scope.TDREntitiesGridId.api().clear().draw();
572 $scope.TDREntitiesGridId.fnAddData($scope.total_tdr_entities_array);
574 $scope.total_tdr_requests_array = $scope.returnObjectArray(data.result.tdrDashboardModel.requests);
575 $scope.TDRNumberGridId.api().clear().draw();
576 $scope.TDRNumberGridId.fnAddData($scope.total_tdr_requests_array);
582 $scope.ReLoadTDRDashboard = function(name)
584 console.log("ReLoadTDRDashboard");
587 $scope.total_tdr_team_selected_model = [];
592 $scope.total_tdr_users_selected_model = [];
597 $scope.total_tdr_entities_selected_model = [];
602 $scope.total_tdr_requests_selected_model = [];
605 $scope.reloadTDRDashboardFromReset(name);
610 function changecolor(selected_model)
612 console.log("changecolor");
615 //var modelNames =[];
617 $(".models").each(function(i){
619 var model_value = $(this).text().trim();
620 //modelName.push(model_value);
621 if(model_value == selected_model || model_value == "")
623 $(this).addClass("selectedcolor");
627 $(this).removeClass("selectedcolor");