From c081bd0a7db3f434e76c03a9ca0334539ee84470 Mon Sep 17 00:00:00 2001 From: "Christopher Lott (cl778h)" Date: Thu, 11 May 2017 09:38:56 -0400 Subject: [PORTAL-7] Features and repairs from 1707 This merges latest changes made to Raptor and other features. Change-Id: I3a58f88e988ddadf52e1c0c782cdccd2b2ecf5e9 Signed-off-by: Christopher Lott (cl778h) --- .../ds2-reports/report-chart-controller.js | 382 +++++++++++ .../DS2-controllers/ds2-reports/report-router.js | 4 + .../ds2-reports/report-run-controller.js | 24 +- .../ds2-reports/report-search-controller.js | 1 + .../ds2-reports/report-step-controller.js | 125 +++- .../app/fusion/scripts/DS2-directives/ds2Header.js | 256 ++++---- .../fusion/scripts/DS2-directives/ds2LeftMenu.js | 18 +- .../ds2-raptor-report/raptorReportFactory.js | 87 ++- .../scripts/DS2-services/headerServiceDS2.js | 496 +------------- .../scripts/DS2-services/leftMenuServiceDS2.js | 13 - .../DS2-view-models/ds2-reports/all-reports.html | 1 + .../ds2-reports/modal/report-wizard-col-edit.html | 10 +- .../modal/report-wizard-drilldown-edit.html | 150 +++++ .../ds2-reports/report-chart-wizard.html | 719 +++++++++++++++++++++ .../DS2-view-models/ds2-reports/report-run.html | 29 +- .../ds2-reports/wz_steps/report-step.html | 10 +- .../fusion/scripts/DS2-view-models/ds2Header.html | 138 ++-- .../src/main/webapp/app/fusion/styles/ecomp.css | 39 +- .../static/fusion/raptor/ebz/date_time_picker.js | 277 -------- 19 files changed, 1722 insertions(+), 1057 deletions(-) create mode 100644 ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-controllers/ds2-reports/report-chart-controller.js create mode 100644 ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-reports/modal/report-wizard-drilldown-edit.html create mode 100644 ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-reports/report-chart-wizard.html delete mode 100644 ecomp-sdk/epsdk-app-overlay/src/main/webapp/static/fusion/raptor/ebz/date_time_picker.js (limited to 'ecomp-sdk/epsdk-app-overlay/src/main/webapp') diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-controllers/ds2-reports/report-chart-controller.js b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-controllers/ds2-reports/report-chart-controller.js new file mode 100644 index 00000000..806b1bc2 --- /dev/null +++ b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-controllers/ds2-reports/report-chart-controller.js @@ -0,0 +1,382 @@ +appDS2.controller('reportChartController', function ($scope, $rootScope, $timeout, $window, $http, $routeParams,modalService) { + //$scope.test="1223"; + //alert($scope.chartType.value); + console.log("reportChartController called"); + $scope.commonOptionOpen = false; + $scope.additionalOptionOpen = false; + + $scope.selectedChartType = {value:""}; + $scope.chartTypeOptions = [ + {value: 'barChart', text: 'Bar Chart'}, + {value: 'timeSeries', text: 'Time Series/Area Chart'}, + {value: 'pieChart', text: 'Pie Chart'}, + {value: 'annotationChart', text: 'Annotation Chart'}, + {value: 'flexibleTimeChart', text: 'Flexible Time Chart'} + ]; + + $scope.animateSelected = {value:false}; + + $scope.populateChrtWzdFields = function() { + $scope.reportRunJson = {}; + $http.get("raptor.htm?action=chart.json&c_master="+$routeParams.reportId).then(function (response) { + $scope.reportRunJson = response.data; + //Set chart type + if ($scope.reportRunJson.chartTypeJSON) { + var chrtTypeValue = $scope.reportRunJson.chartTypeJSON.value; + for(var i = 0; i < $scope.chartTypes.length; i++) { + var obj = $scope.chartTypes[i]; + //console.log(obj.id); + if ($scope.chartTypes[i].value==chrtTypeValue) { + $scope.reportRunJson.chartTypeJSON.index=$scope.chartTypes[i].index; + $scope.reportRunJson.chartTypeJSON.title=$scope.chartTypes[i].title; + } + + } + } + + //Set Domain Axis + if ($scope.reportRunJson.domainAxisJSON) { + var domaninAxisValue = $scope.reportRunJson.domainAxisJSON.value; + for(var i = 0; i < $scope.reportRunJson.chartColumnJSONList.length; i++) { + if ($scope.reportRunJson.chartColumnJSONList[i].value==domaninAxisValue) { + $scope.reportRunJson.domainAxisJSON.index=$scope.reportRunJson.chartColumnJSONList[i].index; + $scope.reportRunJson.domainAxisJSON.title=$scope.reportRunJson.chartColumnJSONList[i].title; + } + + } + } + + //Set Category + if ($scope.reportRunJson.categoryAxisJSON) { + var categoryAxisValue = $scope.reportRunJson.categoryAxisJSON.value; + for(var i = 0; i < $scope.reportRunJson.chartColumnJSONList.length; i++) { + if ($scope.reportRunJson.chartColumnJSONList[i].value==categoryAxisValue) { + $scope.reportRunJson.categoryAxisJSON.index=$scope.reportRunJson.chartColumnJSONList[i].index; + $scope.reportRunJson.categoryAxisJSON.title=$scope.reportRunJson.chartColumnJSONList[i].title; + } + } + } + + //Set range axis label + if ($scope.reportRunJson.rangeAxisList) { + for(var j = 0; j < $scope.reportRunJson.rangeAxisList.length; j++) { + + if ($scope.reportRunJson.rangeAxisList[j].rangeAxisLabelJSON) { + var rangeAxisLabelValue = $scope.reportRunJson.rangeAxisList[j].rangeAxisLabelJSON.value; + for(var i = 0; i < $scope.reportRunJson.chartColumnJSONList.length; i++) { + if ($scope.reportRunJson.chartColumnJSONList[i].value==rangeAxisLabelValue) { + $scope.reportRunJson.rangeAxisList[j].rangeAxisLabelJSON.index=$scope.reportRunJson.chartColumnJSONList[i].index; + $scope.reportRunJson.rangeAxisList[j].rangeAxisLabelJSON.title=$scope.reportRunJson.chartColumnJSONList[i].title; + } + } + } + } + } + + + //set range linetype + if ($scope.reportRunJson.rangeAxisList) { + for(var j = 0; j < $scope.reportRunJson.rangeAxisList.length; j++) { + if ($scope.reportRunJson.rangeAxisList[j].rangeLineTypeJSON != null && $scope.reportRunJson.rangeAxisList[j].rangeLineTypeJSON.value != "" + && $scope.reportRunJson.rangeAxisList[j].rangeLineTypeJSON.value != null) { + var lineTypeValue = $scope.reportRunJson.rangeAxisList[j].rangeLineTypeJSON.value; + for(var i = 0; i < $scope.lineTypes.length; i++) { + if ($scope.lineTypes[i].value==lineTypeValue) { + $scope.reportRunJson.rangeAxisList[j].rangeLineTypeJSON.index=$scope.lineTypes[i].index; + $scope.reportRunJson.rangeAxisList[j].rangeLineTypeJSON.title=$scope.lineTypes[i].title; + } + } + } else { + $scope.reportRunJson.rangeAxisList[j].rangeLineTypeJSON = null; + } + } + } + //set range color + if ($scope.reportRunJson.rangeAxisList) { + for(var j = 0; j < $scope.reportRunJson.rangeAxisList.length; j++) { + if ($scope.reportRunJson.rangeAxisList[j].rangeColorJSON != null && $scope.reportRunJson.rangeAxisList[j].rangeColorJSON.value != "" + && $scope.reportRunJson.rangeAxisList[j].rangeColorJSON.value != null) { + var colorValue = $scope.reportRunJson.rangeAxisList[j].rangeColorJSON.value; + for(var i = 0; i < $scope.rangeColors.length; i++) { + if ($scope.rangeColors[i].value==colorValue) { + $scope.reportRunJson.rangeAxisList[j].rangeColorJSON.index=$scope.rangeColors[i].index; + $scope.reportRunJson.rangeAxisList[j].rangeColorJSON.title=$scope.rangeColors[i].title; + } + } + }else { + $scope.reportRunJson.rangeAxisList[j].rangeColorJSON = null; + } + } + } + }); + + $scope.legend = "true"; + } + + $scope.saveChartData = function() { + //Converting string variables to numbers + $scope.reportRunJson.commonChartOptions.rightMargin = Number($scope.reportRunJson.commonChartOptions.rightMargin); + $scope.reportRunJson.commonChartOptions.topMargin = Number($scope.reportRunJson.commonChartOptions.topMargin); + $scope.reportRunJson.commonChartOptions.bottomMargin = Number($scope.reportRunJson.commonChartOptions.bottomMargin); + $scope.reportRunJson.commonChartOptions.leftMargin = Number($scope.reportRunJson.commonChartOptions.leftMargin); + + if ($scope.reportRunJson.categoryAxisJSON == "") { + console.log('Inside categoryAxisJSON value'); + $scope.reportRunJson.categoryAxisJSON = {}; + $scope.reportRunJson.categoryAxisJSON.value = -1; + console.log('$scope.reportRunJson.categoryAxisJSON',$scope.reportRunJson.categoryAxisJSON); + } + + console.log($scope.reportRunJson); + $http.post("save_chart", JSON.stringify($scope.reportRunJson)).success(function(data, status) { + $scope.successSubmit=true; + }) + } + + + $scope.addRangeAxisRow = function (rangeaxisitem) { + $scope.reportRunJson.rangeAxisList.push({ + }); + }; + + $scope.removeRangeAxisRow = function (index) { + $scope.reportRunJson.rangeAxisList.splice(index, 1); + }; + + + $scope.init = function () { + if ($scope) { + $scope.populateChrtWzdFields(); + } + }; + + + + $scope.domainItems = [{title:"Domain Axis1", content:"Test1", open: false},{title:"Domain Axis2", content:"Test2", open: false}]; + + $scope.chartTypes = [ + {index: 0, value: 'BarChart3D', title: 'Bar Chart'}, + {index: 1, value: 'TimeSeriesChart', title: 'Time Series/Area Chart'}, + {index: 2, value: 'PieChart', title: 'Pie Chart'}, + {index: 3, value: 'AnnotationChart', title: 'Annotation Chart'}, + {index: 4, value: 'FlexTimeChart', title: 'Flexible Time Chart'} + ]; + + $scope.categories = [ + {index: 0, value: 'scenario_name', title: 'scenario_name'}, + {index: 1, value: 'total_traffic_in_PB', title: 'Total Traffic in PB'}, + {index: 2, value: 'Avg Utilization Day', title: 'Avg Utilization Day'} + ]; + + $scope.rangeColors = [ + {index: 0, value: "#1f77b4",title: "Dodger Blue"}, + {index: 1, value: "#ff7f0e",title: "Vivid orange"}, + {index: 2, value: "#2ca02c",title: "Forest Green"}, + {index: 3, value: "#8c864b",title: "Greenish Red"}, + {index: 4, value: "#9467bd",title: "Desaturated violet"}, + {index: 5, value: "#8c564b",title: "Dark moderate red"}, + {index: 6, value: "#e377c2",title: "Soft pink"}, + {index: 7, value: "#7f7f7f",title: "Dark gray"}, + {index: 8, value: "#bcbd22",title: "Strong yellow"}, + {index: 9, value: "#17becf",title: "Strong cyan"}, + {index: 10, value: "#dc143c",title: "Vivid red"}, + {index: 11, value: "#800080",title: "Dark magenta"}, + {index: 12, value: "#0000FF",title: "Blue"}, + {index: 13, value: "#008000",title: "Dark lime green"}, + {index: 14, value: "#D2691E",title: "Reddish Orange"}, + {index: 15, value: "#FF0000",title: "Red"}, + {index: 16, value: "#000000",title: "Black"}, + {index: 17, value: "#DB7093",title: "Pink"}, + {index: 18, value: "#FF00FF",title: "Pure Magenta"}, + {index: 19, value: "#7B68EE",title: "Soft blue"}, + {index: 20, value: "#1f77b6",title: "Strong blue"}, + {index: 21, value: "#9edae5",title: "Very soft cyan"}, + {index: 22, value: "#393b79",title: "Dark Blue"}, + {index: 23, value: "#5254a3",title: "Dark moderate Blue"}, + {index: 24, value: "#6b6ecf",title: "Slightly desaturated blue"}, + {index: 25, value: "#9c9ede",title: "Very soft blue"}, + {index: 26, value: "#637939",title: "Dark Green"}, + {index: 27, value: "#8ca252",title: "Dark moderate green"}, + {index: 28, value: "#b5cf6b",title: "Slightly desaturated green"}, + {index: 29, value: "#cedb9c",title: "Desaturated Green"}, + + /* Old Colors */ + {index: 30, value: "#00FFFF",title: "Aqua"}, + {index: 31, value: "#000000",title: "Black"}, + {index: 32, value: "#0000FF",title: "Blue"}, + {index: 33, value: "#FF00FF",title: "Fuchsia"}, + {index: 34, value: "#808080",title: "Gray"}, + {index: 35, value: "#008000",title: "Green"}, + {index: 36, value: "#00FF00",title: "Lime"}, + {index: 37, value: "#800000",title: "Maroon"}, + {index: 38, value: "#000080",title: "Navy"}, + {index: 39, value: "#808000",title: "Olive"}, + {index: 40, value: "#FF9900",title: "Orange"}, + {index: 41, value: "#800080",title: "Purple"}, + {index: 42, value: "#FF0000",title: "Red"}, + {index: 43, value: "#C0C0C0",title: "Silver"}, + {index: 44, value: "#008080",title: "Teal"}, + {index: 45, value: "#FFFFFF",title: "White"}, + {index: 46, value: "#FFFF00",title: "Yellow"} + ]; + + + $scope.lineTypes = [ + {index: 0, value: 'default', title: 'Default'}, + {index: 1, value: 'dotted_lines', title: 'Dotted Lines'}, + {index: 2, value: 'dashed_lines', title: 'Dashed Lines'} + ]; + + $scope.hardCodeReport= { + "reportID":"3356", + "reportName":"Test: Line Chart", + "reportDescr":"", + "reportTitle":"", + "reportSubTitle":"", + "formFieldList":[ + ], + "chartColumnJSONList":[ + { + "index":0, + "value":"tr0", + "title":"traffic_date", + "$$hashKey":"056" + }, + { + "index":1, + "value":"ut1", + "title":"util_perc", + "$$hashKey":"057" + } + ], + "formfield_comments":null, + "totalRows":0, + "chartSqlWhole":"SELECT traffic_date tr0, traffic_date tr0_1,util_perc ut1, 1 FROM portal.demo_util_chart ORDER BY 1", + "chartAvailable":true, + "chartType":{"index": "", "value": "Bar Chart", "title": ""}, + "width":"700", + "height":"420", + "animation":false, + "rotateLabels":"90", + "staggerLabels":false, + "showTitle":"false", + "domainAxis":{ + "index":0, + "value":"tr0", + "title":"traffic_date", + "$$hashKey":"11H" + }, + + "categoryAxis":{ + "index":1, + "value":"ut1", + "title":"util_perc", + "$$hashKey":"11I" + }, + + "hasCategoryAxis":false, + "rangeAxisList":[ + { + + "rangeColor":{ + "index":"", + "value":"#bcbd22", + "title":"" + }, + + "rangeLineType":{ + "index":"", + "value":"dotted_lines", + "title":"" + }, + "rangeAxisLabel":{ + "index":0, + "value":"tr0", + "title":"traffic_date", + "$$hashKey":"056" + }, + "YAxis":"10", + "chartTitle":"test" + }, + { + "rangeColor":{ + "index":"", + "value":"#2ca02c", + "title":"" + }, + + "rangeLineType":{ + "index":"", + "value":"dashed_lines", + "title":"" + + + }, + + "rangeAxisLabel":{ + "index":0, + "value":"tr0", + "title":"traffic_date", + "$$hashKey":"056" + }, + "YAxis":"10", + "chartTitle":"test" + } + + + ], + + "primaryAxisLabel":"testlabel", + "secondaryAxisLabel":"testseclabel", + "minRange":"10", + "maxRange":"20", + "topMargin":"6", + "bottomMargin":"5", + "leftMargin":"4", + "rightMargin":"3" + }; + + var colorValue = $scope.hardCodeReport.rangeAxisList[0].rangeColor.value; + + $timeout(function() { + $rootScope.isViewRendering = false; + }); + + +}); + +app.directive('onlyDigits', function () { + + return { + restrict: 'A', + require: '?ngModel', + link: function (scope, element, attrs, ngModel) { + if (!ngModel) return; + ngModel.$parsers.unshift(function (inputValue) { + var digits = inputValue.split('').filter(function (s) { return (!isNaN(s) && s != ' '); }).join(''); + ngModel.$viewValue = digits; + ngModel.$render(); + return digits; + }); + } + }; +}); + +app.directive('onlyCharacters', function () { + return { + restrict: 'A', + require: '?ngModel', + link: function (scope, element, attrs, ngModel) { + if (!ngModel) return; + ngModel.$parsers.unshift(function (inputValue) { + var digits = inputValue.split('').filter(function (s) { return (isNaN(s) && s != ' '); }).join(''); + ngModel.$viewValue = digits; + ngModel.$render(); + return digits; + }); + } + }; +}); + + + diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-controllers/ds2-reports/report-router.js b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-controllers/ds2-reports/report-router.js index db3422ed..1e22cca3 100644 --- a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-controllers/ds2-reports/report-router.js +++ b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-controllers/ds2-reports/report-router.js @@ -17,6 +17,10 @@ appDS2.config(['$routeProvider', templateUrl: 'static/fusion/raptor/ebz/report_chart_wizard.html', controller: 'ChartController' }). + when('/report_chart/:reportId', { + templateUrl: 'app/fusion/scripts/DS2-view-models/ds2-reports/report-chart-wizard.html', + controller: 'reportChartController' + }). when("/report_wizard", { templateUrl : "app/fusion/scripts/DS2-view-models/ds2-reports/wz_steps/report-step.html", controller: "reportStepController" diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-controllers/ds2-reports/report-run-controller.js b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-controllers/ds2-reports/report-run-controller.js index 02f58985..760ff6d3 100644 --- a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-controllers/ds2-reports/report-run-controller.js +++ b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-controllers/ds2-reports/report-run-controller.js @@ -10,7 +10,9 @@ appDS2.controller("reportRunController", ['$scope','$rootScope','$routeParams',' $scope.reportData.allowEdit = false; $scope.formFieldSelectedValues = {}; $scope.showFormFieldIds = false; - + $scope.showFormFieldId = { + value: false + }; $scope.isInProgress = true; if($routeParams.reportUrlParams.indexOf("parent___params===")>-1) { @@ -20,7 +22,7 @@ appDS2.controller("reportRunController", ['$scope','$rootScope','$routeParams',' } else { $scope.currentReportUrlParams = $routeParams.reportUrlParams; } - console.log($routeParams.reportUrlParams); + // console.log($routeParams.reportUrlParams); var parseQueryString = function( queryString ) { var params = {}, queries, temp, i, l; // Split into key/value pairs @@ -60,10 +62,10 @@ appDS2.controller("reportRunController", ['$scope','$rootScope','$routeParams',' $http.get('raptor.htm?action=report.run.container&'+$scope.currentReportUrlParams).then( function(response){ - console.log(response); + // console.log(response); $scope.isInProgress = false; $scope.reportData = response.data; - console.log('reportData report run container response',$scope.reportData); + // console.log('reportData report run container response',$scope.reportData); if ($scope.reportData.reportTitle) { $scope.reportData.reportHeading = $scope.reportData.reportTitle; if ($scope.reportData.reportSubTitle) { @@ -73,7 +75,7 @@ appDS2.controller("reportRunController", ['$scope','$rootScope','$routeParams',' else $scope.reportData.reportHeading = $scope.reportData.reportName; if(!$scope.urlParams.hideChart && $scope.reportData.chartAvailable && $scope.reportData.totalRows>1){ - console.log('raptor.htm?action=chart.run&'+convertQueryString($scope.urlParams)); + // console.log('raptor.htm?action=chart.run&'+convertQueryString($scope.urlParams)); $http.get('raptor.htm?action=chart.run&'+convertQueryString($scope.urlParams)).then( function(response){ $scope.showChart = true; @@ -120,7 +122,7 @@ appDS2.controller("reportRunController", ['$scope','$rootScope','$routeParams',' else $scope.reportData.reportHeading = $scope.reportData.reportName;*/ - console.log("pagination"); + // console.log("pagination"); if(!pagination) { //console.log("refreshed ..."); $scope.gridOptions.pageNumber = 1; @@ -141,7 +143,7 @@ appDS2.controller("reportRunController", ['$scope','$rootScope','$routeParams',' } $scope.currentReportUrlParams = 'c_master='+$scope.urlParams.c_master+'&'+formFieldsUrl+'&display_content=Y&r_page='+(paginationOptions.pageNumber-1); - console.log('raptor.htm?action=report.run.container&c_master='+$scope.urlParams.c_master+'&'+formFieldsUrl+'refresh=Y&display_content=Y&r_page='+(paginationOptions.pageNumber-1)); + // console.log('raptor.htm?action=report.run.container&c_master='+$scope.urlParams.c_master+'&'+formFieldsUrl+'refresh=Y&display_content=Y&r_page='+(paginationOptions.pageNumber-1)); $http.get('raptor.htm?action=report.run.container&c_master='+$scope.urlParams.c_master+'&'+formFieldsUrl+'refresh=Y&display_content=Y&r_page='+(paginationOptions.pageNumber-1)).then( function(response){ $scope.reportData = response.data; @@ -163,12 +165,12 @@ appDS2.controller("reportRunController", ['$scope','$rootScope','$routeParams',' } if(!pagination) { if(!$scope.urlParams.hideChart && $scope.reportData.chartAvailable && $scope.reportData.totalRows>1){ - console.log('raptor.htm?action=chart.run&c_master='+$scope.urlParams.c_master+'&'+formFieldsUrl+'display_content=Y&r_page='+(paginationOptions.pageNumber-1)); + // console.log('raptor.htm?action=chart.run&c_master='+$scope.urlParams.c_master+'&'+formFieldsUrl+'display_content=Y&r_page='+(paginationOptions.pageNumber-1)); $http.get('raptor.htm?action=chart.run&c_master='+$scope.urlParams.c_master+'&'+formFieldsUrl+'display_content=Y&r_page='+(paginationOptions.pageNumber-1)).then( function(response) { - console.log(response.data); + // console.log(response.data); $scope.showChart = true; - console.log('response.data',response.data); + // console.log('response.data',response.data); document.getElementById('chartiframe').contentWindow.document.write(response.data); document.getElementById('chartiframe').contentWindow.document.close(); }); @@ -313,7 +315,7 @@ appDS2.controller("reportRunController", ['$scope','$rootScope','$routeParams',' }); $scope.triggerOtherFormFields = function(){ - console.log("report_run"); + // console.log("report_run"); var formFieldsUrl = $scope.getFormFieldSelectedValuesAsURL(); $http.get('raptor.htm?action=report.formfields.run.container&c_master='+$scope.reportData.reportID+'&'+formFieldsUrl).then( function(response){ 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 1e01a297..3fe5bde3 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 @@ -45,6 +45,7 @@ appDS2.controller("reportSearchController", ['$scope','$rootScope','$http','$tim paginationPageSize: 5, paginationTemplate: correctTotalPaginationTemplate, columnDefs: [], + enableColumnResizing: true, data: [], enableGridMenu: true, enableSelectAll: true, diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-controllers/ds2-reports/report-step-controller.js b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-controllers/ds2-reports/report-step-controller.js index 6133fe64..f1e82fa5 100644 --- a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-controllers/ds2-reports/report-step-controller.js +++ b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-controllers/ds2-reports/report-step-controller.js @@ -1,5 +1,7 @@ appDS2.controller('reportStepController', function($scope,$http,$location, $routeParams, $q, $modal,$log,$window, raptorReportFactory, stepFormFactory, DOMHelper) { + + $scope.showLoader = true; // tabs for report wizard steps: $scope.activeTabsId = 'Definition'; @@ -10,8 +12,10 @@ appDS2.controller('reportStepController', function($scope,$http,$location, $rout raptorReportFactory.getDefinitionByReportId(id).then(function(data){ $scope.loadDefinition(data); $scope.definitionData = data; + $scope.showLoader = false; },function(error){ $log.error("raptorReportFactory: getSearchData failed."); + $scope.showLoader = false; }); } @@ -20,6 +24,7 @@ appDS2.controller('reportStepController', function($scope,$http,$location, $rout raptorReportFactory.createNewDefinition().then(function(data){ $scope.loadDefinition(data); $scope.definitionData = data; + $scope.showLoader = false; },function(error){ $log.error("raptorReportFactory: getSearchData failed."); }); @@ -41,6 +46,7 @@ appDS2.controller('reportStepController', function($scope,$http,$location, $rout raptorReportFactory.getSqlInSession().then(function(data){ $scope.sqlInSessionJSON = data; $scope.sqlScript = data.query; + $scope.showLoader = false; },function(error){ $log.error("raptorReportFactory: getSearchData failed."); }); @@ -133,6 +139,7 @@ appDS2.controller('reportStepController', function($scope,$http,$location, $rout $scope.hideExcelSelected = {"value":definitionData.displayOptions[3].selected}; $scope.hidePdfSelected = {"value":definitionData.displayOptions[4].selected}; $scope.runtimeColSortDisabled = {"value":definitionData.runtimeColSortDisabled}; + $scope.showLoader = false; } @@ -349,11 +356,21 @@ appDS2.controller('reportStepController', function($scope,$http,$location, $rout $scope.drilldownURL = data.drilldownURL; $scope.drilldownParams = data.drilldownParams; $scope.drilldownType = data.drilldownType; + $scope.selectedDrillDownReport = {"value":""}; + + },function(error){ $log.error("raptorReportFactory: getColumnEditInfoById failed."); }); var init = function() { + + raptorReportFactory.getDrillDownReportList().then(function(data2){ + $scope.drilldownReports = data2; + },function(error){ + $log.error("raptorReportFactory: getDrillDownReportList failed."); + }); + /* $scope.colTableRowData = colData;*/ $scope.displayAlignmentOptions = [ {value:"null", text:""}, @@ -373,8 +390,15 @@ appDS2.controller('reportStepController', function($scope,$http,$location, $rout } init(); + $scope.$watch('selectedDrillDownReport.value',function(){ + if ($scope.selectedDrillDownReport) { + $scope.$emit('openDrillDownpage',$scope.selectedDrillDownReport.value); + } + }); $scope.save = function() { + var drilldownURL = "";//raptorReportFactory.drillDownPopupOptions + //raptorReportFactory.drillDownPopupOptions.radioGroup var colInfo = { "tabId" : "ColEdit", "tabName" : "Column Edit", @@ -384,7 +408,7 @@ appDS2.controller('reportStepController', function($scope,$http,$location, $rout "displayHeaderAlignment" : ($scope.selectedDisplayHeaderAlignment.value=="null")?null:$scope.selectedDisplayHeaderAlignment.value, "sortable" : ($scope.sortable.value=="true"), "visible" : ($scope.visible.value=="true"), - "drilldownURL" : "", + "drilldownURL" : drilldownURL, "drilldownParams" : "", "drilldownType" : "" } @@ -576,9 +600,77 @@ appDS2.controller('reportStepController', function($scope,$http,$location, $rout }); }; - + $scope.openDrillDownReportPopup = function (reportId) { + var modalInstance = $modal.open({ + scope: $scope, + animation: $scope.animationsEnabled, + templateUrl: 'app/fusion/scripts/DS2-view-models/ds2-reports/modal/report-wizard-drilldown-edit.html', + sizeClass: 'modal-large', + controller: ['$scope', '$modalInstance', '$http', '$log','raptorReportFactory','reportId', function ($scope, $modalInstance, $http, $log, raptorReportFactory, reportId) { + $scope.selectedvalueradioGroup = {"name":""}; + $scope.selectedChildReportFormField = {"value":""}; + $scope.selectedChildReportColumn = {"value":""}; + $scope.fixedValue = {"value":""}; + $scope.suppressValues = {"value":""}; + + raptorReportFactory.getChildReportFormField(reportId).then(function(data){ + $scope.childReportFF =data; + },function(error){ + $log.error("raptorReportFactory: getChildReportFormField failed."); + }); + + raptorReportFactory.getChildReportColumn(reportId).then(function(data){ + $scope.childReportCol =data; + },function(error){ + $log.error("raptorReportFactory: getChildReportFormField failed."); + }); + + raptorReportFactory.setDrillDownPopupOptions(null); + + $scope.complete = function() { +// if ($scope.selectedvalueradioGroup.name=="radiovalue1") { +// console.log("radio 1 selected"); +// } else if ($scope.selectedvalueradioGroup.name=="radiovalue2") { +// console.log("radio 2 selected"); +// } else if ($scope.selectedvalueradioGroup.name=="radiovalue3") { +// console.log("radio 3 selected"); +// } else if ($scope.selectedvalueradioGroup.name=="radiovalue4") { +// console.log("radio 4 selected"); +// } else if ($scope.selectedvalueradioGroup.name=="radiovalue5") { +// console.log("radio 5 selected"); +// } else { +// console.log("None selected"); +// } + + var drillDownPopupOptions= { + radioGroup : $scope.selectedvalueradioGroup.name, + reportFF: $scope.selectedChildReportFormField.value, + reportCol: $scope.selectedChildReportColumn.value, + fixedValue: $scope.fixedValue.value, + suppressValues: $scope.suppressValues.value + } + raptorReportFactory.setDrillDownPopupOptions(drillDownPopupOptions); + console.log(raptorReportFactory.drillDownPopupOptions); + + $modalInstance.close(); + }; + }], + resolve:{ + reportId: function(){ + return reportId; + } + } + }); + + modalInstance.result.then(function () { +/* $scope.$emit('RefreshFormField');*/ + }, function () { + }); +}; + $scope.$watch('activeTabsId', function (newVal, oldVal) { if(newVal !== oldVal) { + $scope.showLoader = true; var selectedTab; for (selectedTab = 0; selectedTab < $scope.gTabs.length; selectedTab++) { if ($scope.gTabs[selectedTab].id === newVal) { @@ -587,28 +679,36 @@ appDS2.controller('reportStepController', function($scope,$http,$location, $rout $scope.isColumnStep = false; $scope.isFormFieldStep = false; $scope.renderStep(selectedTab+1); - if ($scope.stepNum == 2) { + if ($scope.stepNum == 1) { + $scope.showLoader = false; + } + else if ($scope.stepNum == 2) { loadSqlInSession(); } else if ($scope.stepNum == 3) { $scope.isColumnStep = true; - raptorReportFactory.getColumnList().then(function(data){ $scope.colTableRowData = data; + $scope.showLoader = false; },function(error){ - $log.error("raptorReportFactory: get column list failed."); }); - + $log.error("raptorReportFactory: get column list failed."); + $scope.showLoader = false;}); + } else if ($scope.stepNum == 4) { $scope.isFormFieldStep = true; // put within then function: raptorReportFactory.getFormFieldList().then(function(data){ $scope.formFieldData = data; + $scope.showLoader = false; },function(error){ - $log.error("raptorReportFactory: get formfields failed."); }); + $log.error("raptorReportFactory: get formfields failed."); + $scope.showLoader = false;}); } else if ($scope.stepNum == 5) { raptorReportFactory.getDefinitionInSession().then(function(data){ $scope.reportId = data.reportId; + $scope.showLoader = false; },function(error){ - $log.error("raptorReportFactory: getDefinitionInSession failed."); }); + $log.error("raptorReportFactory: getDefinitionInSession failed."); + $scope.showLoader = false;}); } if ($scope.stepNum>1){ @@ -869,6 +969,13 @@ appDS2.controller('reportStepController', function($scope,$http,$location, $rout $scope.getDefinitionById(-1); }); + $scope.$on('openDrillDownpage', function(event, reportId) { + if (reportId!="") { + $scope.openDrillDownReportPopup(reportId); + } + }); + + $scope.$on('RefreshFormField', function(event) { raptorReportFactory.getFormFieldList().then(function(data){ $scope.formFieldData = data; @@ -897,4 +1004,4 @@ appDS2.controller('reportStepController', function($scope,$http,$location, $rout // getAllProjects(); -}); \ No newline at end of file +}); diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-directives/ds2Header.js b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-directives/ds2Header.js index 87ae7a31..7dcbdbe8 100644 --- a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-directives/ds2Header.js +++ b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-directives/ds2Header.js @@ -1,152 +1,116 @@ - appDS2.directive('ds2Header', function () { - return { - restrict: 'A', //This menas that it will be used as an attribute and NOT as an element. I don't like creating custom HTML elements - replace: false, - templateUrl: "app/fusion/scripts/DS2-view-models/ds2Header.html", - controller: ['$scope', '$filter','$http','$timeout', '$log','UserInfoServiceDS2', '$window', '$cookies', "$cookieStore", function ($scope, $filter, $http, $timeout, $log,UserInfoServiceDS2, $window, $cookies, $cookieStore) { - // copy from existing DS1 - /*Define fields*/ - $scope.userName; - $scope.userFirstName; - /*$scope.redirectUrl; - $scope.contactUsUrl; - $scope.getAccessUrl; - $scope.childData=[]; - $scope.parentData=[]; - $scope.menuItems = []; - $scope.loadMenufail=false; - $scope.megaMenuDataObject=[]; - $scope.activeClickSubMenu = { - x: '' - }; - $scope.activeClickMenu = { - x: '' - }; - $scope.favoritesMenuItems = []; - $scope.favoriteItemsCount = 0; - $scope.showFavorites = false; - $scope.emptyFavorites = false; - $scope.favoritesWindow = false;*/ +appDS2.directive('ds2Header', function () { + return { + restrict: 'A', //This menas that it will be used as an attribute and NOT as an element. I don't like creating custom HTML elements + replace: false, + templateUrl: "app/fusion/scripts/DS2-view-models/ds2Header.html", + controller: ['$scope', '$filter','$http','$timeout', '$log','UserInfoServiceDS2', 'HeaderServiceDS2', '$window', '$cookies','$cookieStore', function ($scope, $filter, $http, $timeout, $log,UserInfoServiceDS2,HeaderServiceDS2, $window, $cookies,$cookieStore) { + // copy from existing DS1 - //DS2 code - $scope.tabItems = [ - { - 'title': 'ECOMP' - }, - { - 'title': 'Help', - 'subitems': [{ - 'value': 'Contact Us' + /*Define fields*/ + $scope.userName; + $scope.userFirstName; + $scope.userId; + $scope.userEmail; + $scope.redirectUrl; + $scope.contactUsUrl; + $scope.getAccessUrl; + $scope.menuItems = []; + $scope.showHeader = ($cookieStore.get("show_app_header") == undefined ? true : $cookies.get("show_app_header") ); - }, { - 'value': 'Get Access' - }, - ]}, - ]; - - $scope.userProfile = {}; - $scope.showInfo = false; - $scope.showProfile = function () { - $scope.showInfo = !$scope.showInfo; - }; - $scope.loginOptions1 = [ - {value: '', text: 'Log In..'}, - {value: '1', text: 'Premier'}, - {value: '2', text: 'Wifi Services'}, - {value: '3', text: 'Cloud Solutions'} - ]; - $scope.loginVal = {}; - $scope.loginVal.value = $scope.loginOptions1[0].value; - - $scope.clickLogin = function () { - $scope.openDropdown = !$scope.openDropdown; - }; - $scope.skipNavigation = function () { - var element = angular.element(document.querySelector('li.last'))[0]; - element.children[0].focus(); - }; - - /***************functions**************/ - /*Put user info into fields*/ + + /***************functions**************/ + /*getting user info from session*/ + $scope.getUserNameFromSession = function(){ + UserInfoServiceDS2.getFunctionalMenuStaticDetailSession() + .then(function (res) { + $scope.contactUsUrl=res.contactUsLink; + $scope.userName = res.userName; + $scope.userId = res.userid; + $scope.userEmail = res.email; + $scope.userFirstName = res.firstName; + $scope.redirectUrl = res.portalUrl; + $scope.getAccessUrl = res.getAccessUrl; + }); + } + + $scope.returnToPortal=function(){ + window.location.href = $scope.redirectUrl; + } - $scope.inputUserInfo = function(userInfo){ - if (typeof(userInfo) != "undefined" && userInfo!=null && userInfo!=''){ - if(typeof(userInfo.USER_FIRST_NAME) != "undefined" && userInfo.USER_FIRST_NAME!=null){ - $scope.userFirstName = userInfo.USER_FIRST_NAME; - } - } - } - /*getting user info from session*/ - $scope.getUserNameFromSession = function(){ - UserInfoServiceDS2.getFunctionalMenuStaticDetailSession() - .then(function (res) { - $scope.contactUsUrl=res.contactUsLink; - $scope.userName = res.userName; - $scope.userFirstName = res.firstName; - $scope.redirectUrl = res.portalUrl; - $scope.getAccessUrl = res.getAccessUrl; - $scope.userProfile.fullName = res.userName; - $scope.userProfile.email = res.email; - }); - } + /*Menu Structure*/ + var menuStructureConvert = function(menuItems) { + $scope.megaMenuDataObjectTemp = + [{ + text: "Manage", + children: menuItems + }, + { + text: "Support", + children: [ + { + label:"Contact Us", + action:$scope.contactUsUrl, + childMenus:[] + }, + { + label:"Get Access", + action:$scope.getAccessUrl, + childMenus:[] + }] + }]; + return $scope.megaMenuDataObjectTemp; + }; - /*Put user info into fields*/ - $scope.inputUserInfo = function(userInfo){ - if (typeof(userInfo) != "undefined" && userInfo!=null && userInfo!=''){ - if (typeof(userInfo.USER_FIRST_NAME) != "undefined" && userInfo.USER_FIRST_NAME!=null && userInfo.USER_FIRST_NAME!='') - $scope.userProfile.firstName = userInfo.USER_FIRST_NAME; - if (typeof(userInfo.USER_LAST_NAME) != "undefined" && userInfo.USER_LAST_NAME!=null && userInfo.USER_LAST_NAME!='') - $scope.userProfile.lastName = userInfo.USER_LAST_NAME; - if (typeof(userInfo.USER_EMAIL) != "undefined" && userInfo.USER_EMAIL!=null && userInfo.USER_EMAIL!='') - $scope.userProfile.email = userInfo.USER_EMAIL; - } - } + $scope.getMenu=function() { + $scope.getUserNameFromSession(); + var promise = HeaderServiceDS2.getMenu(); + promise.then( + function(res) { + if(res==null || res==''){ + $log.error('failed to get menu'); + $scope.getUserNameFromSession(); + }else{ + $scope.parentMenu = JSON.parse(res.data); + $scope.childMenu = JSON.parse(res.data2); + for(var i=0; i<$scope.parentMenu.length;i++){ + $scope.parentMenu[i].childMenus = ($scope.childMenu[i]); + } + $scope.menuItems = menuStructureConvert($scope.parentMenu); + } + }, + function(err) { + $log.error('getMenu failed', err); + } + ); + } - /*getting user info from shared context*/ - $scope.getUserName=function() { - var promise = UserInfoServiceDS2.getFunctionalMenuStaticDetailShareContext(); - promise.then( - function(res) { - if(res==null || res==''){ - $log.warn('DS2HeaderCtlr::getUserName: failed to get info from shared context'); - $scope.getUserNameFromSession(); - }else{ - // $log.info('Received User information from shared context',res); - var resData = res; - $scope.inputUserInfo(resData); - $scope.userProfile.fullName = $scope.userProfile.firstName+ ' '+ $scope.userProfile.lastName; - } - }, - function(err) { - console.log('error'); - } - ); - }; - - $scope.adjustHeader=function() { - $scope.showHeader = ($cookieStore.get("show_app_header") == undefined ? true : $cookies.show_app_header); - if($scope.showHeader == true) { - $scope.drawer_margin_top = 70; - $scope.drawer_custom_top = 54; - $scope.toggle_drawer_top = 55; - } - else { - - $scope.drawer_margin_top = 60; - $scope.drawer_custom_top = 0; - $scope.toggle_drawer_top = 10; - } - - } + + + $scope.adjustHeader=function() { + $scope.showHeader = ($cookies.get("show_app_header") == undefined ? true : $cookies.get("show_app_header")); + console.log($scope.showHeader); + if ($scope.showHeader==true) { + document.getElementById('page-content').style.marginTop = "45px"; + }else{ + document.getElementById('page-content').style.marginTop = "0px"; + } + }; // adjustHeader + $scope.$on('$routeChangeSuccess', function () { + $scope.adjustHeader(); + }); - /*call the get user info function*/ - try{ - $scope.getUserName(); - $scope.adjustHeader(); - - }catch(err){ - $log.info('Error while getting User information',err); - } - }] - } -}); \ No newline at end of file + $scope.getUserNameFromSession(); + $scope.getMenu(); + }] + } +}); + +appDS2.filter("ellipsis", function(){ + return function(text, length){ + if (text) { + var ellipsis = text.length > length ? "..." : ""; + return text.slice(0, length) + ellipsis; + }; + return text; + } +}); diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-directives/ds2LeftMenu.js b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-directives/ds2LeftMenu.js index 8174c586..758add6e 100644 --- a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-directives/ds2LeftMenu.js +++ b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-directives/ds2LeftMenu.js @@ -64,23 +64,7 @@ appDS2.directive('ds2Menu', function () { },function(error){ console.log("error happened while calling getAppName "+error); }); - - $scope.adjustHeader=function() { - $scope.showHeader = ($cookies.show_app_header == undefined ? true : $cookies.show_app_header); - if ($scope.showHeader == true) { - $scope.drawer_margin_top = 50; - $scope.drawer_custom_top = 54; - $scope.toggle_drawer_top = 55; - } - else { - $scope.drawer_margin_top = 40; - $scope.drawer_custom_top = 0; - $scope.toggle_drawer_top = 10; - } - }; // adjustHeader - - - $scope.adjustHeader(); + $scope.drawerOpen = true; diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-services/ds2-raptor-report/raptorReportFactory.js b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-services/ds2-raptor-report/raptorReportFactory.js index 06324d39..65e05fbd 100644 --- a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-services/ds2-raptor-report/raptorReportFactory.js +++ b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-services/ds2-raptor-report/raptorReportFactory.js @@ -3,7 +3,22 @@ appDS2.factory('raptorReportFactory', function($http, $q) { getDefinitionByReportId: function(reportId) { return $http({ method: "GET", - url: "report/wizard/retrieve_tab_wise_data/Def/"+reportId, + url: "report/wizard/retrieve_def_tab_wise_data/"+reportId, + }).then(function(response) { + if (typeof response.data === 'object') { + return response.data; + } else { + return $q.reject("raptorReportFactory: getDefinitionByReportId did not return a valid JSON object."); + } + }, function(response) { + // something went wrong + return $q.reject("raptorReportFactory: getDefinitionByReportId callback failed"); + }); + }, + getDefinitionByReportId: function(reportId) { + return $http({ + method: "GET", + url: "report/wizard/retrieve_def_tab_wise_data/"+reportId, }).then(function(response) { if (typeof response.data === 'object') { return response.data; @@ -18,7 +33,7 @@ appDS2.factory('raptorReportFactory', function($http, $q) { getDefinitionInSession: function() { return $http({ method: "GET", - url: "report/wizard/retrieve_tab_wise_data/Def/InSession", + url: "report/wizard/retrieve_def_tab_wise_data/InSession", }).then(function(response) { if (typeof response.data === 'object') { return response.data; @@ -34,7 +49,7 @@ appDS2.factory('raptorReportFactory', function($http, $q) { createNewDefinition: function() { return $http({ method: "GET", - url: "report/wizard/retrieve_tab_wise_data/Def/Create", + url: "report/wizard/retrieve_def_tab_wise_data/Create", }).then(function(response) { if (typeof response.data === 'object') { return response.data; @@ -82,7 +97,7 @@ appDS2.factory('raptorReportFactory', function($http, $q) { getSqlInSession: function() { return $http({ method: "GET", - url: "report/wizard/retrieve_tab_wise_data/Sql/InSession", + url: "report/wizard/retrieve_sql_tab_wise_data/InSession", }).then(function(response) { if (typeof response.data === 'object') { return response.data; @@ -100,8 +115,8 @@ appDS2.factory('raptorReportFactory', function($http, $q) { url: "report/wizard/retrieve_data/true", data: queryJSON }).then(function(response) { - if (typeof response.data === 'object') { - return response.data; + if (typeof response.data === 'object') { + return JSON.parse(response.data.data.elements); } else { return $q.reject("raptorReportFactory: testRunSQL did not return a valid JSON object."); } @@ -118,7 +133,7 @@ appDS2.factory('raptorReportFactory', function($http, $q) { data: queryJSON }).then(function(response) { if (typeof response.data === 'object') { - return response.data; + return JSON.parse(response.data.data.elements); } else { return $q.reject("raptorReportFactory: formFieldVerifySQL did not return a valid JSON object."); } @@ -144,11 +159,58 @@ appDS2.factory('raptorReportFactory', function($http, $q) { return $q.reject("raptorReportFactory: getColumnList callback failed"); }); }, - + getDrillDownReportList: function() { + return $http({ + method: "GET", + url: "report/wizard/list_drilldown_reports", + }).then(function(response) { + if (typeof response.data === 'object') { + return response.data; + } else { + return $q.reject("raptorReportFactory: getDrillDownReportList did not return a valid JSON object."); + } + return response.data; + }, function(response) { + // something went wrong + return $q.reject("raptorReportFactory: getDrillDownReportList callback failed"); + }); + }, + getChildReportFormField: function(reportId) { + return $http({ + method: "GET", + url: "report/wizard/list_child_report_ff/"+reportId, + }).then(function(response) { + if (typeof response.data === 'object') { + return response.data; + } else { + return $q.reject("raptorReportFactory: getDrillDownReportList did not return a valid JSON object."); + } + return response.data; + }, function(response) { + // something went wrong + return $q.reject("raptorReportFactory: getDrillDownReportList callback failed"); + }); + }, + getChildReportColumn: function(reportId) { + return $http({ + method: "GET", + url: "report/wizard/list_child_report_col/"+reportId, + }).then(function(response) { + if (typeof response.data === 'object') { + return response.data; + } else { + return $q.reject("raptorReportFactory: getChildReportColumn did not return a valid JSON object."); + } + return response.data; + }, function(response) { + // something went wrong + return $q.reject("raptorReportFactory: getChildReportColumn callback failed"); + }); + }, getColumnEditInfoById: function(columnId){ return $http({ method: "GET", - url: "report/wizard/retrieve_tab_wise_data/ColEdit/"+columnId, + url: "report/wizard/retrieve_col_tab_wise_data/"+columnId, }).then(function(response) { if (typeof response.data === 'object') { return response.data; @@ -241,7 +303,7 @@ appDS2.factory('raptorReportFactory', function($http, $q) { getFormFieldEditInfoById: function(fieldId){ return $http({ method: "GET", - url: "report/wizard/retrieve_tab_wise_data/FormEdit/"+fieldId, + url: "report/wizard/retrieve_form_tab_wise_data/"+fieldId, }).then(function(response) { if (typeof response.data === 'object') { return response.data; @@ -257,7 +319,7 @@ appDS2.factory('raptorReportFactory', function($http, $q) { deleteFormFieldById: function(fieldId){ return $http({ method: "GET", - url: "report/wizard/retrieve_tab_wise_data/FormEdit/delete/"+fieldId, + url: "report/wizard/retrieve_form_tab_wise_data/"+fieldId+"/delete", }).then(function(response) { if (typeof response.data === 'object') { return response.data; @@ -314,6 +376,9 @@ appDS2.factory('raptorReportFactory', function($http, $q) { return $q.reject("raptorReportFactory: getSearchDataAtPage callback failed"); }); }, + setDrillDownPopupOptions: function(drillDownPopupOptions) { + this.drillDownPopupOptions = drillDownPopupOptions; + }, getReportDeleteStatus : function(deleteUrl) { return $http.get(deleteUrl).then(function(response) { if (typeof response.data === 'object') { diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-services/headerServiceDS2.js b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-services/headerServiceDS2.js index 92a99be0..c9134f62 100644 --- a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-services/headerServiceDS2.js +++ b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-services/headerServiceDS2.js @@ -1,483 +1,17 @@ -appDS2.directive('qHeader', function () { - - return { - restrict: 'A', //This menas that it will be used as an attribute and NOT as an element. I don't like creating custom HTML elements - replace: false, - templateUrl: "app/fusion/scripts/DS2-view-models/ds2Header.html", - controller: ['$scope', '$filter','$http','$timeout', '$log','UserInfoServiceDS2', '$window', '$cookies', function ($scope, $filter, $http, $timeout, $log,UserInfoServiceDS2, $window, $cookies) { - - //alert("in header service") - /*Define fields*/ - $scope.userName; - $scope.userFirstName; - $scope.redirectUrl; - $scope.contactUsUrl; - $scope.getAccessUrl; - $scope.childData=[]; - $scope.parentData=[]; - $scope.menuItems = []; - $scope.loadMenufail=false; - $scope.megaMenuDataObject=[]; - $scope.activeClickSubMenu = { - x: '' - }; - $scope.activeClickMenu = { - x: '' - }; - $scope.favoritesMenuItems = []; - $scope.favoriteItemsCount = 0; - $scope.showFavorites = false; - $scope.emptyFavorites = false; - $scope.favoritesWindow = false; - - /* Menu Structure - var menuStructureConvert = function(menuItems) { - console.log(menuItems); - $scope.megaMenuDataObjectTemp = - [ - { - text: "ECOMP", - children: menuItems - }, - { - text: "Help", - children: [ - { - text:"Contact Us", - url:$scope.contactUsUrl - }, - { - text:"Get Access", - url:$scope.getAccessUrl - }] - } - ]; - return $scope.megaMenuDataObjectTemp; - }; - */ - /***************functions**************/ - /*Put user info into fields*/ - $scope.inputUserInfo = function(userInfo){ - if (typeof(userInfo) != "undefined" && userInfo!=null && userInfo!=''){ - if(typeof(userInfo.USER_FIRST_NAME) != "undefined" && userInfo.USER_FIRST_NAME!=null){ - $scope.userFirstName = userInfo.USER_FIRST_NAME; - } - } - } - /*getting user info from session*/ - $scope.getUserNameFromSession = function(){ - UserInfoServiceDS2.getFunctionalMenuStaticDetailSession() - .then(function (res) { - $scope.contactUsUrl=res.contactUsLink; - $scope.userName = res.userName; - $scope.userFirstName = res.firstName; - $scope.redirectUrl = res.portalUrl; - $scope.getAccessUrl = res.getAccessUrl; - }); - } - $scope.getTopMenuStaticInfo=function() { - var promise = UserInfoServiceDS2.getFunctionalMenuStaticDetailShareContext(); - promise.then( - function(res) { - if(res==null || res==''){ - $log.info('failed getting static User information'); - $scope.getUserNameFromSession(); - }else{ - $log.info('Received static User information'); - - var resData = res; - console.log(resData); - $scope.inputUserInfo(resData); - $scope.userName = $scope.firstName+ ' '+ $scope.lastName; - } - }, - function(err) { - $log.info('failed getting static User information'); - } - ); - } - - $scope.returnToPortal=function(){ - window.location.href = $scope.redirectUrl; - } - - var unflatten = function( array, parent, tree ){ - tree = typeof tree !== 'undefined' ? tree : []; - parent = typeof parent !== 'undefined' ? parent : { menuId: null }; - var children = _.filter( array, function(child){ return child.parentMenuId == parent.menuId; }); - if( !_.isEmpty( children ) ){ - if( parent.menuId === null ){ - tree = children; - }else{ - parent['children'] = children - } - _.each( children, function( child ){ unflatten( array, child ) } ); - } - return tree; - } - - $scope.getMenu=function() { - $scope.getTopMenuStaticInfo(); - $http({ - method: "GET", - url: 'get_functional_menu', -// TIMEOUT USED FOR LOCAL TESTING ONLY -// timeout: 100 - }).success(function (response) { - - if (response == '101: Timeout') { - $log.debug('Timeout attempting to get_functional_menu'); - $scope.megaMenuDataObject = menuStructureConvert(""); -// $scope.createErrorMenu(); - //$scope.loadMenufail=true; - } else { - if(typeof response != 'undefined' && response.length!=0 && typeof response[0] != 'undefined' && typeof response[0].error!="undefined"){ - $log.debug('Timeout attempting to get_functional_menu'); - $scope.menuItems = unflatten( response); - $scope.megaMenuDataObject = menuStructureConvert($scope.menuItems); -// $scope.createErrorMenu(); - //$scope.loadMenufail=true; - }else{ - $scope.loadMenufail=false; - $scope.contactUsURL = response.contactUsLink; - $log.debug('functional_menu',response); - $scope.megaMenuDataObject = menuStructureConvert(""); - } - } - }).error(function (response){ - $scope.megaMenuDataObject = menuStructureConvert(""); -// $scope.createErrorMenu(); - //$scope.loadMenufail=true; - $log.debug('REST API failed get_functional_menu...'); - }); - - } - - /*$scope.adjustHeader=function() { - $scope.showHeader = ($cookies.show_app_header == undefined ? true : $cookies.show_app_header); - - if($scope.showHeader == true) { - $scope.drawer_margin_top = 70; - $scope.drawer_custom_top = 54; - $scope.toggle_drawer_top = 55; - } - else { - - $scope.drawer_margin_top = 60; - $scope.drawer_custom_top = 0; - $scope.toggle_drawer_top = 10; - } - - }*/ - - $scope.getMenu(); - // $scope.adjustHeader(); - -/* **************************************************************************/ -/* Logic for the favorite menus is here */ - - $scope.loadFavorites = function () { - $log.debug('loadFavorites has happened.'); - if ($scope.favoritesMenuItems == '') { - $scope.generateFavoriteItems(); - $log.debug('loadFavorites is calling generateFavoriteItems()'); - } else { - $log.debug('loadFavorites is NOT calling generateFavoriteItems()'); - } - } - - $scope.goToUrl = function (item) { - $log.info("goToUrl called") - $log.info(item); - - var url = item.url; - var restrictedApp = item.restrictedApp; - $log.debug('Restricted app status is: ' + restrictedApp); - if (!url) { - $log.info('No url found for this application, doing nothing..'); - return; - } - if (restrictedApp) { - $window.open(url, '_blank'); - } else { - $window.open(url, '_self'); - } - - } - - $scope.submenuLevelAction = function(index, column) { - if ($scope.favoritesMenuItems == '') { - $scope.generateFavoriteItems(); - $log.debug('submenuLevelAction is calling generateFavoriteItems()'); - } - $log.debug('item hovered/clicked: ' + index + '; column = ' + column); - if (column == 2) { // 2 is Design - $scope.favoritesWindow = false; - $scope.showFavorites = false; - $scope.emptyFavorites = false; - } - if (index=='Favorites' && $scope.favoriteItemsCount != 0) { - $log.debug('Showing Favorites window'); - $scope.favoritesWindow = true; - $scope.showFavorites = true; - $scope.emptyFavorites = false; - } - if (index=='Favorites' && $scope.favoriteItemsCount == 0) { - $log.debug('Hiding Favorites window in favor of No Favorites Window'); - $scope.favoritesWindow = true; - $scope.showFavorites = false; - $scope.emptyFavorites = true; - } - if (column > 2) { - $scope.favoritesWindow = false; - $scope.showFavorites = false; - $scope.emptyFavorites = false; - } - }; - - $scope.hideFavoritesWindow = function() { - $log.debug('$scope.hideFavoritesWindow has been called'); - $scope.showFavorites = false; - $scope.emptyFavorites = false; - } - - $scope.isUrlFavorite = function (menuId) { -// $log.debug('array objects in menu favorites = ' + $scope.favoriteItemsCount + '; menuId=' + menuId); - var jsonMenu = JSON.stringify($scope.favoritesMenuItems); - var isMenuFavorite = jsonMenu.indexOf('menuId\":' + menuId); - if (isMenuFavorite==-1) { - return false; - } else { - return true; - } - - } - - $scope.generateFavoriteItems = function() { - $http({ - method: "GET", - url: 'get_favorites', -// TIMEOUT USED FOR LOCAL TESTING ONLY -// timeout: 100 - }).success(function (response) { - if (response == '101: Timeout') { - $log.error('Timeout attempting to get_favorites_menu'); +appDS2.factory('HeaderServiceDS2', function ($http,$log, $q) { + return { + getMenu: function() { + return $http.get('get_menu') + .then(function(response) { + if (typeof response.data === 'object') { + return response.data; } else { - if(typeof response != 'undefined' && response.length!=0 && typeof response[0] != 'undefined' && typeof response[0].error!="undefined"){ - $log.error('REST API failed get_favorites' + response); - }else{ - $log.debug('get_favorites = ' + JSON.stringify(response)); - $scope.favoritesMenuItems = response; - $scope.favoriteItemsCount = Object.keys($scope.favoritesMenuItems).length; - $log.info('number of favorite menus: ' + $scope.favoriteItemsCount); - } - } - }).error(function (response){ - $log.error('REST API failed get_favorites' + response); -//createFavoriteErrorMenu() USED FOR LOCAL TESTING ONLY -// $scope.createFavoriteErrorMenu(); - }); - } - - $scope.createFavoriteErrorMenu=function() { - $scope.favoritesMenuItems = []; - $scope.favoriteItemsCount = Object.keys($scope.favoritesMenuItems).length; - $log.info('number of favorite menus: ' + $scope.favoriteItemsCount); - } - - /* end of Favorite Menu code */ - /* **************************************************************************/ - - - /* **************************************************************************/ - // THIS IS USED FOR LOCAL TESTING ONLY - /* **************************************************************************/ - $scope.createErrorMenu=function() { - $log.debug('Creating fake menu now...'); -// $scope.loadMenufail=true; - $scope.menuItems = [ - { - "menuId": 1, - "column": 2, - "text": "Design", - "parentMenuId": null, - "url": "" - }, - { - "menuId": 2, - "column": 3, - "text": "Infrastructure Ordering", - "parentMenuId": null, - "url": "" - }, - { - "menuId": 3, - "column": 4, - "text": "Service Creation", - "parentMenuId": null, - "url": "" - }, - { - "menuId": 4, - "column": 5, - "text": "Service Mgmt", - "parentMenuId": null, - "url": "" - }, - { - "menuId": 90, - "column": 1, - "text": "Google", - "parentMenuId": 1, - "url": "http://google.com" - }, - { - "menuId": 91, - "column": 1, - "text": "Mike Little's Coffee Cup", - "parentMenuId": 2, - "url": "http://coffee.com" - }, - { - "menuId": 92, - "column": 2, - "text": "Andy and his Astrophotgraphy", - "parentMenuId": 3, - "url": "http://nightskypix.com" - }, - { - "menuId": 93, - "column": 1, - "text": "JSONLint", - "parentMenuId": 4, - "url": "http://http://jsonlint.com" - }, - { - "menuId": 94, - "column": 2, - "text": "HROneStop", - "parentMenuId": 4, - "url": "http://ebiz.sbc.com/hronestop" - }, - { - "menuId": 95, - "column": 2, - "text": "4th Level App4a R16", - "parentMenuId": 4, - "url": "http://www.e-access.att.com/ecomp_portal_ist/ecompportal/widgets" - }, - { - "menuId": 96, - "column": 3, - "text": "3rd Level App1c R200", - "parentMenuId": 4, - "url": "http://app1c.com" - }, - { - "menuId": 97, - "column": 1, - "text": "3rd Level App4b R16", - "parentMenuId": 5, - "url": "http://app4b.com" - }, - { - "menuId": 98, - "column": 2, - "text": "3rd Level App2b R16", - "parentMenuId": 5, - "url": "http://app2b.com" - }, - { - "menuId": 99, - "column": 1, - "text": "Favorites", - "parentMenuId": null, - "url": "" - } - ]; - $scope.menuItems = unflatten( $scope.menuItems ); - //remove this - $scope.megaMenuDataObject = menuStructureConvert($scope.menuItems); - } - }] - } + return $q.reject(response.data); + } + }, function(response) { + // something went wrong + return $q.reject(response.data); + }); + } + }; }); - -appDS2.filter("ellipsis", function(){ - return function(text, length){ - if (text) { - var ellipsis = text.length > length ? "..." : ""; - return text.slice(0, length) + ellipsis; - }; - return text; - } -}); -function reloadPageOnce() { - if( window.localStorage ) - { - if( !localStorage.getItem('firstLoad') ) - { - localStorage['firstLoad'] = true; - window.location.reload(); - } - else - localStorage.removeItem('firstLoad'); - } -} -appDS2.controller('loginSnippetCtrl', function ($scope,$http, $log,UserInfoServiceDS2){ - /*Define fields*/ - $scope.userProfile={ - firstName:'', - lastName:'', - fullName:'', - email:'', - } - /*Put user info into fields*/ - $scope.inputUserInfo = function(userInfo){ - if (typeof(userInfo) != "undefined" && userInfo!=null && userInfo!=''){ - if (typeof(userInfo.USER_FIRST_NAME) != "undefined" && userInfo.USER_FIRST_NAME!=null && userInfo.USER_FIRST_NAME!='') - $scope.userProfile.firstName = userInfo.USER_FIRST_NAME; - if (typeof(userInfo.USER_LAST_NAME) != "undefined" && userInfo.USER_LAST_NAME!=null && userInfo.USER_LAST_NAME!='') - $scope.userProfile.lastName = userInfo.USER_LAST_NAME; - if (typeof(userInfo.USER_EMAIL) != "undefined" && userInfo.USER_EMAIL!=null && userInfo.USER_EMAIL!='') - $scope.userProfile.email = userInfo.USER_EMAIL; - - } - } - /*getting user info from session*/ - $scope.getUserNameFromSession = function(){ - UserInfoServiceDS2.getFunctionalMenuStaticDetailSession() - .then(function (response) { - $scope.userProfile.fullName = response.userName; - $scope.userProfile.email = response.email; - }); - } - /*getting user info from shared context*/ - $scope.getUserName=function() { - var promise = UserInfoServiceDS2.getFunctionalMenuStaticDetailShareContext(); - promise.then( - function(res) { - if(res==null || res==''){ - $log.info('headerServiceDS2: get user information from session'); - $scope.getUserNameFromSession(); - - }else{ - // $log.info('Received User information from shared context',res); - var resData = res; - console.log(resData); - $scope.inputUserInfo(resData); - $scope.userProfile.fullName = $scope.userProfile.firstName+ ' '+ $scope.userProfile.lastName; - } - }, - function(err) { - console.log('error'); - } - ); - }; - /*call the get user info function*/ - try{ - $scope.getUserName(); - }catch(err){ - $log.info('Error while getting User information',err); - } -}); \ No newline at end of file diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-services/leftMenuServiceDS2.js b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-services/leftMenuServiceDS2.js index 879da8e7..61346c84 100644 --- a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-services/leftMenuServiceDS2.js +++ b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-services/leftMenuServiceDS2.js @@ -70,22 +70,9 @@ window.onscroll = function (e) { adjustLeftMenuHeight(); } -function adjustHeader() { - var showHeader = getCookie("show_app_header"); - if(showHeader==''){ - $(".menu-container").css({ - "margin-top" : 45, - }); - }else{ - $(".menu-container").css({ - "margin-top" : 0, - }); - } -}; /* adjust left menu height on page load */ $(function() { adjustLeftMenuHeight(); - adjustHeader(); }); diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-reports/all-reports.html b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-reports/all-reports.html index c90f95b4..bbfddca6 100644 --- a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-reports/all-reports.html +++ b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-reports/all-reports.html @@ -61,6 +61,7 @@ + diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-reports/modal/report-wizard-col-edit.html b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-reports/modal/report-wizard-col-edit.html index ad081991..097d1795 100644 --- a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-reports/modal/report-wizard-col-edit.html +++ b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-reports/modal/report-wizard-col-edit.html @@ -99,14 +99,14 @@ - + diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-reports/modal/report-wizard-drilldown-edit.html b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-reports/modal/report-wizard-drilldown-edit.html new file mode 100644 index 00000000..ec2134bf --- /dev/null +++ b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-reports/modal/report-wizard-drilldown-edit.html @@ -0,0 +1,150 @@ + + +
+
+

Drill-down Parameters Configuration

+
+ +
+
+
+
+ +
+ + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

User

+
+ + +

Accept Default

+
+ +
+ + + +
+ + + +
+ + +

Pass the value of the selected column if not empty, otherwise pass the value of the selected form field

+
+

Parameter values not to be passed to the drill-down report

+
Suppress Values
+
+ +
+
+
+
\ No newline at end of file diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-reports/report-chart-wizard.html b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-reports/report-chart-wizard.html new file mode 100644 index 00000000..16676d24 --- /dev/null +++ b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-reports/report-chart-wizard.html @@ -0,0 +1,719 @@ + + +
+

Report Chart Configuration

+ + + + +
+ + + + + + + + + + + + + + +
Chart TypeAnimate
+ + + +
+ + + + + + + + + + + + + + +
Width (px)Height (px)
+ + + +
+ + + + + + + + + +
+
+ + + + + +
Title
+ + + +
+ + + + + + + + + + + + + + + +
Domain AxisCategory
+ + + +
+ + +
+ + + + + + + + + + + + + + + + + + + + + + +
Range AxisY AxisChart TitleColorLine Type
+ + + + + + + + + + + + +
+
+ +
+ +
+
+
+
+
+ + +
+
+
+
+
+ +
+
+ +
+ +
+
+ +
+
+ +
+
+ Show + Hide +
+
+ + +
+
+
+
+ +
+
+
+
+
+ +
+
+
+
+
+
+
+ + +
+
+ +
+ +
+
+ +
+ +
+
+
+
+ +
+
+
+
+ +
+
+ +
+ +
+ Add + + Remove +
+
+
+
+
+ + + +
+
+ +
+
+
+ +
+
+
+
+ +
+
+
+ +

+
+
+ + + + +
+ + + + + +
+
+
+ Vertical + Horizontal +
+ +
+
+ Yes + No +
+ +
+
+ Yes + No +
+ +
+
+ Yes + No +
+ +
+
+ Yes + No +

+ +
+
+ Yes + No +
+ +
+
+ + +
+
+ +
+
+
+ +
+ + + + +
+
+
+
+ Line + Area +
+ +
+
+ +

+ +
+
+ +
+ +
+
+ Yes + No +
+ +
+
+ Yes + No +
+
+
+ +
+
+ +
+ +
+ + + + + + +
+
+
+
+ +
+ +
+
+ Weekly + Daily + Hourly + 30 Min +
+
+
+
+
+ +
+ + + + + + + + + + + + +
+
+
+
+ up 45° + up 90° + down 45° + down 90° + Standard +
+ +
+
+ Top + Bottom +

+ +
+
+ Yes + No +
+ +
+
+ Yes + No +

+ +
+
+ +
+
+
+ +
+
+
+ +
+
+
+ +

+
+
+
+
+

+ Save + Run +
+ +
+ + +
+
+
Additional Options
+

+

+
+
+ +
+
+
+ +
+ + + +
+ + + + + + + + + + + + + + +
Primary Axis LabelSecondary Axis Label
+ + + +
+ + + + + + + + + + + + + + +
Range Axis Minimum RangeMaximum Range
+ + + +
+
+
+
+
+ + + +
+
+
Common Options
+

+

+
+
+ +
+
+
+ +
+
+
+
+ + + + + + + + + +
+
+ + +
+
+ + + +
Legend AngleLegend Position
+ + + + + + + + +
+ + + + + + + + + + + + +
+
+ + +
+
+ + + + +
LegendAnimation
+ + + + + + +
+ + + + + + + + + + + + + + + + + + +
Top MarginBottom MarginLeft MarginRight Margin
+ + + + + + + +
+
+
+
+ + + +
+
+
+ + + + +
diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-reports/report-run.html b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-reports/report-run.html index 82b7e878..70b24925 100644 --- a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-reports/report-run.html +++ b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-reports/report-run.html @@ -55,23 +55,28 @@ body { } -
- -

{{reportData.reportHeading}} - - -     -     - - -

- +
+
+

{{reportData.reportHeading}}

+
+ +
+
+ +
+ +
+ +
+

{{reportData.reportSubTitle}}

Loading...
- +

diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-reports/wz_steps/report-step.html b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-reports/wz_steps/report-step.html index 5767afb2..6665dcf2 100644 --- a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-reports/wz_steps/report-step.html +++ b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-reports/wz_steps/report-step.html @@ -22,7 +22,6 @@

Report Wizard

- @@ -34,6 +33,13 @@

+
+ +
+ +
+
- +
- - ECOMP Portal - - - -
  • - - - -
    -
    {{userProfile.fullName}}
    - {{userProfile.email}} - {{userProfile.orgUserId}} - - - -

    - Log Out -

    -
    -
    -
  • - - - -
    \ No newline at end of file +
    +
    + +
    +
    diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/styles/ecomp.css b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/styles/ecomp.css index 7b659e9c..bf5e4002 100644 --- a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/styles/ecomp.css +++ b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/styles/ecomp.css @@ -11,6 +11,8 @@ .header-container { width: 100%; float: left; + position: fixed; + z-index: 100; } .menu-container { float: left; @@ -58,12 +60,28 @@ display:none; } +#header-user-icon{ + font-size:25px; + color:#FFFFFF; + +} +.header-tertiary-wrapper{ + top:52px; +} +.header-profile div{ + display:inline-block; +} +.b2b-header-tabs .header-secondary{; + width: 97%; + height:42px; +} +.b2b-header-tabs .header-tertiary{ + width:97%; +} -/* .icon-accordion-plus, .icon-accordion-minus { - float: right; - line-height: 40px; +.b2b-header-tabs .header-secondary .header-subitem a.menu__item{ + padding: 10px 0; } - */ .b2b-ln-icon-fix-pos{ margin-top:10px; } @@ -133,3 +151,16 @@ p,a{ .b2b-footer-wrapper .copyright-text-sdk a:hover { text-decoration: none; } + +.b2b-header-tabs .header__items{ + width:97%; +} + +.header-main-div{ + position: fixed; + width: 100%; + top: 0px; + left: 0; + background-color: #222; + z-index: 9999; +} \ No newline at end of file diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/static/fusion/raptor/ebz/date_time_picker.js b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/static/fusion/raptor/ebz/date_time_picker.js deleted file mode 100644 index ae69a913..00000000 --- a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/static/fusion/raptor/ebz/date_time_picker.js +++ /dev/null @@ -1,277 +0,0 @@ - String.prototype.paddingLeft = function (paddingValue) { - return String(paddingValue + this).slice(-paddingValue.length); - }; - -angular.module("app/scripts/ng_js_att_tpls/datepicker/dateTimePickerPopup.html", []).run(["$templateCache", function($templateCache) { - $templateCache.put("app/scripts/ng_js_att_tpls/datepicker/dateTimePickerPopup.html", - "
    \n" + - "
    \n" + - " \n" + - - " \n" + - "
    \n" + - - '
    ' - + '
    ' - - + '
      ' - + '
    • ' - + 'Date' - + '
    • ' - + '
    • ' - + 'Time' - + '
    • ' - + '
    ' - - + '
    ' - + '
    ' - +'
    ' - +'
    ' - + '
    {{displayMonth}} {{year}}
    ' - + '
    ' - + '
    ' - + '
    {{day | limitTo: 1}}
    ' - + '
    {{d}}
    ' - + '
    {{d}}
    ' - + '
    {{d}}
    ' - + '
    ' - + '
    ' - - + '
    ' - + '
    ' - + '
    {{hour}}:{{minute}}
    ' - + '
    ' - + '
    ' - + '
    AM
    ' - + '
    PM
    ' - + '
    ' - + '
    ' - + '
    {{time}}
    ' - + '
    ' - + '
    ' - + '
    {{time}}
    ' - + '
    ' - + '
    ' - + '
    ' - - + '
    ' - + '
    ' + - - "
    \n" + - ""); -}]); - -angular.module('quantum').requires.push("app/scripts/ng_js_att_tpls/datepicker/dateTimePickerPopup.html"); - -angular.module('quantum') -.directive('dateTimePickerPopup', ['$document', 'datepickerService', '$isElement', '$documentBind', function($document, datepickerService, $isElement, $documentBind) { - var link = function (scope, elem, attr) { - datepickerService.bindScope(attr, scope); - - scope.isOpen = false; - - var toggle = scope.toggle = function (show) { - if(show === true || show === false) { - scope.isOpen = show; - } else { - scope.isOpen = !scope.isOpen; - } - }; - -// scope.$watch('current', function () { -// toggle(false); -// }); - - var outsideClick = function (e) { - var isElement = $isElement(angular.element(e.target), elem, $document); - if(!isElement) { - toggle(false); - scope.$apply(); - } - }; - - $documentBind.click('isOpen', outsideClick, scope); - - scope.tabs = [{ - title: 'DATE', - url: '#option1' - }, { - title: 'TIME', - url: '#option2', - selected: true - } - ]; - - //-------------------------------------- - - scope.state = false; - scope.tab = 'time'; - scope.setTab = function(tab){ - scope.tab = tab; - }; - scope.config = { - modal: true, - color:'rgba(5, 116, 172, 1)', - backgroundColor: 'rgba(0,0,0,0.75)' - }; - scope.months = ["January","February","March","April","May","June","July","Augusta","September","October","November","December"]; - scope.dayNames = ["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]; - scope.$watch('current',function(value){ - var m; - if(value) - m = moment(value); - else - m = moment(); - m = m.minute(5*Math.ceil(m.minute()/5)); - scope.display = m.format('YYYY-MM-DD hh:mm A'); - scope.days = scope.getDaysInMonth(m.year(),m.month()); - scope.minute = m.minute(); - scope.meridian = m.format('A'); - scope.hour = scope.meridian == 'PM' ? m.hour() - 12: m.hour(); - if(scope.hour==0) scope.hour = 12; - scope.datePreview = m.format('YYYY-MM-DD'); - scope.timePreview = m.format('hh:mm A'); - scope.displayMonth = scope.months[m.month()]; - scope.day = m.date(); - scope.year = m.year(); - - }); - - scope.setDay = function(date){ - scope.current = moment(scope.current).date(date).toDate(); - }; - - scope.setState = function(state){ - scope.state = false; - }; - - scope.setHour = function(hour){ - if(scope.meridian == 'PM' && hour < 12) - hour = hour + 12; - if(scope.meridian == 'AM' && hour == 12) - hour = hour - 12; - scope.current = moment(scope.current).hour(hour).toDate(); - }; - - scope.setMeridian = function(meridian){ - var m = moment(scope.current); - - if(meridian == 'AM'){ - if(m.hours()>=12){ - m = m.add(-12,'hours'); - scope.current = m.toDate(); - } - }else{ - if(m.hours()<12){ - m = m.add(12,'hours'); - scope.current = m.toDate(); - } - } - }; - - scope.setMinutes = function(minutes){ - scope.current = moment(scope.current).minute(minutes).toDate(); - }; - - var days = []; - for(var i=1;i<=31;i++){ - days.push(i); - } - scope.getDaysInMonth = function(year,month){ - var firstDayOfWeek = 0; - var firstDayOfMonth = new Date(year, month, 1), - lastDayOfMonth = new Date(year, month + 1, 0), - lastDayOfPreviousMonth = new Date(year, month, 0), - daysInMonth = lastDayOfMonth.getDate(), - daysInLastMonth = lastDayOfPreviousMonth.getDate(), - dayOfWeek = firstDayOfMonth.getDay(), - leadingDays = (dayOfWeek - firstDayOfWeek + 7) % 7 || 7, - trailingDays = days.slice(0, 6 * 7 - (leadingDays + daysInMonth)); - if (trailingDays.length > 7) { - trailingDays = trailingDays.slice(0, trailingDays.length-7); - } - - return { - year: year, - month: month, - days: days.slice(0, daysInMonth), - leadingDays: days.slice(- leadingDays - (31 - daysInLastMonth), daysInLastMonth), - trailingDays: trailingDays - }; - }; - - scope.addMonth = function(increment){ - scope.current = moment(scope.current).add(increment,'months').toDate(); - }; - - }; - - return { - restrict: 'EA', - replace: true, - transclude: true, - templateUrl: 'app/scripts/ng_js_att_tpls/datepicker/dateTimePickerPopup.html', - scope: { - current: "=current" - }, - compile: function (elem, attr) { - var wrapperElement = elem.find('span').eq(1); - wrapperElement.attr('current', 'current'); - datepickerService.setAttributes(attr, wrapperElement); - - return link; - } - }; -}]) -.directive('attDateTimePicker', ['$log', function($log) { - return { - restrict: 'A', - require: 'ngModel', - scope: {}, - controller: ['$scope', '$element', '$attrs', '$compile', 'datepickerConfig', 'datepickerService', function($scope, $element, $attrs, $compile, datepickerConfig, datepickerService) { - var dateFormatString = angular.isDefined($attrs.dateFormat) ? $scope.$parent.$eval($attrs.dateFormat) : datepickerConfig.dateFormat; - var selectedDateMessage = '
    the date you selected is {{$parent.current | date : \'' + dateFormatString + '\'}}
    '; - - $element.removeAttr('att-date-time-picker'); - $element.removeAttr('ng-model'); - $element.attr('ng-model', '$parent.current'); - $element.attr('aria-describedby', 'datepicker'); - $element.attr('format-date', dateFormatString); - $element.attr('att-input-deny', '[^0-9ampAMP \/:-]'); - $element.attr('maxlength', 20); - - var wrapperElement = angular.element('
    '); - wrapperElement.attr('date-time-picker-popup', ''); - wrapperElement.attr('current', 'current'); - - datepickerService.setAttributes($attrs, wrapperElement); - datepickerService.bindScope($attrs, $scope); - - wrapperElement.html(''); - wrapperElement.append($element.prop('outerHTML')); - if (navigator.userAgent.match(/MSIE 8/) === null) { - wrapperElement.append(selectedDateMessage); - } - var elm = wrapperElement.prop('outerHTML'); - - elm = $compile(elm)($scope); - $element.replaceWith(elm); - }], - link: function(scope, elem, attr, ctrl) { - if (!ctrl) { - // do nothing if no ng-model - $log.error("ng-model is required."); - return; - } - - scope.$watch('current', function(value) { - ctrl.$setViewValue(value); - }); - ctrl.$render = function() { - scope.current = ctrl.$viewValue; - }; - } - }; -}]); - - -- cgit 1.2.3-korg