diff options
author | shentao <shentao@chinamobile.com> | 2017-09-01 11:57:47 +0800 |
---|---|---|
committer | shentao <shentao@chinamobile.com> | 2017-09-01 11:57:58 +0800 |
commit | 57dbba269d19bc59fad89160200bb2dbcccb9003 (patch) | |
tree | d466041ceffa2161124ca79a48b3e077777c74b8 /usecaseui-common/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-reports | |
parent | 4ff32341a0af1972b44a7410e76e9b231131e7ab (diff) |
Upload Monitor function code
Change-Id: I33ad76221b4cb771a298ff240245fc24be664efb
Issue-Id: USECASEUI-6
Signed-off-by: shentao <shentao@chinamobile.com>
Diffstat (limited to 'usecaseui-common/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-reports')
24 files changed, 2451 insertions, 0 deletions
diff --git a/usecaseui-common/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-reports/all-reports.html b/usecaseui-common/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-reports/all-reports.html new file mode 100644 index 00000000..7f470d40 --- /dev/null +++ b/usecaseui-common/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-reports/all-reports.html @@ -0,0 +1,77 @@ +<!DOCTYPE html> +<html> +<head> + <meta charset="ISO-8859-1"> + <meta http-equiv="X-UA-Compatible" content="IE=edge, chrome=1" /> + + <title>Reports</title> + + <!-- Resources --> + + + <!-- B2b Library --> + <link rel="stylesheet" type="text/css" href="app/fusion/external/b2b/css/b2b-angular/b2b-angular.css"> + <link rel="stylesheet" type="text/css" href="app/fusion/external/b2b/css/b2b-angular/font_icons.css"> + + <!-- icons in open source --> + <link rel="stylesheet" type="text/css" href="app/fusion/external/ds2/css/digital-ng-library/ionicons.css"> + <link rel="stylesheet" type="text/css" href="app/fusion/external/ds2/css/digital-ng-library/ecomp-ionicons.css"> + + + <link rel="stylesheet" type="text/css" href="app/fusion/external/angular-bootstrap/ui-bootstrap-csp.css"> + <link rel="stylesheet" type="text/css" href="app/fusion/external/angular-gridster/dist/angular-gridster.min.css"> + <!-- digital-design-library must be loaded late --> + <link rel="stylesheet" type="text/css" href="app/fusion/external/ds2/css/digital-ng-library/digital-design-library.css"> + <link rel="stylesheet" type="text/css" href="app/fusion/styles/ecomp.css"> + + <!-- Common scripts --> + <script src="app/fusion/external/angular-1.4.8/angular.min.js"></script> + <script src="app/fusion/external/angular-1.4.8/angular-messages.js"></script> + <script src="app/fusion/external/angular-1.4.8/angular-touch.js"></script> + <script src="app/fusion/external/angular-1.4.8/angular-sanitize.js"></script> + <script src="app/fusion/external/angular-1.4.8/angular-route.min.js"></script> + <script src="app/fusion/external/angular-1.4.8/angular-cookies.min.js"></script> + <script src="app/fusion/external/b2b/js/b2b-angular/b2b-library.min.js"></script> + <script src="app/fusion/external/jquery/dist/jquery.min.js"></script> + <script src="app/fusion/external/javascript-detect-element-resize/jquery.resize.js"></script> + <script src="app/fusion/external/angular-bootstrap/ui-bootstrap-tpls.min.js"></script> + <script src="app/fusion/external/angular-gridster/dist/angular-gridster.min.js"></script> + <script src="app/fusion/external/angular-gridster/dist/angular-gridster.min.js"></script> + + <!-- EPSDK App scripts and common services --> + <script src="app/fusion/scripts/DS2-services/ds2-modal/modalService.js"></script> + <script src="app/fusion/external/ds2/js/appDS2.js"></script> + + <script src="app/fusion/scripts/DS2-services/userInfoServiceDS2.js"></script> + <script src="app/fusion/scripts/DS2-services/headerServiceDS2.js"></script> + <script src="app/fusion/scripts/DS2-services/leftMenuServiceDS2.js"></script> + <script src="app/fusion/scripts/DS2-services/manifestService.js"></script> + + <script src="app/fusion/scripts/DS2-directives/footer.js"></script> + <script src="app/fusion/scripts/DS2-directives/ds2Header.js"></script> + <script src="app/fusion/scripts/DS2-directives/ds2LeftMenu.js"></script> + <script src="app/fusion/scripts/DS2-directives/b2b-leftnav-ext.js"></script> + <script src= "app/fusion/scripts/DS2-services/userInfoServiceDS2.js"></script> + + <!-- Page specific items --> + <script src="app/fusion/external/d3/js/d3.js"></script> + <link rel="stylesheet" type="text/css" href="app/fusion/external/angular-ui-grid/ui-grid.css"> + <script src="app/fusion/external/angular-ui-grid/ui-grid.min.js"></script> + <script src="./app/fusion/scripts/DS2-services/ds2-raptor-report/raptorReportFactory.js"></script> + <script src="./app/fusion/scripts/DS2-services/ds2-raptor-report/stepFormFactory.js"></script> + <script src="./app/fusion/scripts/DS2-controllers/ds2-reports/report-search-controller.js"></script> + <script src="./app/fusion/scripts/DS2-controllers/ds2-reports/report-run-controller.js"></script> + <script src="./app/fusion/scripts/DS2-controllers/ds2-reports/report-step-controller.js"></script> + <script src="./app/fusion/scripts/DS2-controllers/ds2-reports/report-import-controller.js"></script> + <script src="./app/fusion/scripts/DS2-controllers/ds2-reports/report-chart-controller.js"></script> + <script src="./app/fusion/scripts/DS2-view-models/ds2-reports/directive/dynamicform.js"></script> + <script src="./app/fusion/scripts/DS2-controllers/ds2-reports/report-router.js"></script> + +</head> + <body class="appBody" ng-app="abs"> + <div ds2-Header class="header-container" ></div> + <div ds2-menu id="menuContainer" class="menu-container" ></div> + <div ng-view id="rightContentProfile" class="content-container"></div> + <div ds2-Footer class="footer-container"></div> + </body> +</html> diff --git a/usecaseui-common/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-reports/directive/dynamicform.js b/usecaseui-common/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-reports/directive/dynamicform.js new file mode 100644 index 00000000..9064b0dc --- /dev/null +++ b/usecaseui-common/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-reports/directive/dynamicform.js @@ -0,0 +1,113 @@ +appDS2 +.directive('formBuilder', ['$q', '$parse', '$http', '$templateCache', '$compile', '$document', '$timeout', function ($q, $parse, $http, $templateCache, $compile, $document, $timeout) { + return { + restrict: 'E', // supports using directive as element only + scope:{ + ngModel: '=', + ngFormFields: '=', + ngNumFormCols: '=', + ngTriggerMethod: '=', + ngShowFieldId: '=' + }, + link: function ($scope, element, attrs) { + $scope.element=element; + $scope.datetimeformat = "MM/dd/yyyy hh:mm a"; + console.log("$scope"); + console.log($scope); + $scope.buildField = function (field, parentElement) { + var x = ''; + if(field.visible) { + if (field.fieldType === 'LIST_MULTI_SELECT') { + x = angular.element('<label><i>'+field.fieldDisplayName+'<span ng-show="ngShowFieldId"> [ '+field.fieldId+' ] </span>:</i></label><br>'+ + '<div class="select2-container ebz-listbox form-field" style="height:100px;" tabindex="0" >'+ + '<label ng-repeat="item in ngModel.'+field.fieldId+'" style="display:block;">'+ + '<input type="checkbox" style="margin-top: 10px;" ng-model="item.defaultValue" ng-change="triggerFormFields('+field.triggerOtherFormFields+')" att-checkbox title="{{item.title}}"/> {{item.title}}<br/>'+ + '</label>'+ + '</div>'); + } else if (field.fieldType === 'LIST_BOX') { + x = angular.element('<label><i>'+field.fieldDisplayName+'<span ng-show="ngShowFieldId"> [ '+field.fieldId+' ] </span>:</i></label><br> <div class="form-field" att-select="formFieldLuValues.'+field.fieldId+'" ng-model="ngModel.'+field.fieldId+'" ng-change="triggerFormFields('+field.triggerOtherFormFields+')"></div>'); + } else if((field.fieldType === 'text' || field.fieldType === 'TEXT') && field.validationType === 'DATE'){ + x = angular.element('<label><i>'+field.fieldDisplayName+'<span ng-show="ngShowFieldId"> [ '+field.fieldId+' ] </span>:</i></label><br> <input id="'+field.fieldId+'" type="text" ng-model="ngModel.'+field.fieldId+'" tabindex="0" ng-change="triggerFormFields('+field.triggerOtherFormFields+')" att-datepicker>'); + } else if((field.fieldType === 'text' || field.fieldType === 'TEXT') && field.validationType === 'TIMESTAMP_MIN'){ + x = angular.element('<label><i>'+field.fieldDisplayName+'<span ng-show="ngShowFieldId"> [ '+field.fieldId+' ] </span>:</i></label><br> <input id="'+field.fieldId+'" type="text" date-format="datetimeformat" ng-model="ngModel.'+field.fieldId+'" tabindex="0" ng-change="triggerFormFields('+field.triggerOtherFormFields+')" att-date-time-picker>'); + } else if(field.fieldType === 'text' || field.fieldType === 'TEXT'){ + x = angular.element('<label><i>'+field.fieldDisplayName+'<span ng-show="ngShowFieldId"> [ '+field.fieldId+' ] </span>:</i></label><br> <input type="text" class="form-field" ng-model="ngModel.'+field.fieldId+'" maxlength="'+field.length+'" ng-blur="triggerFormFields('+field.triggerOtherFormFields+')" />'); + } else if(field.fieldType === 'CHECK_BOX'){ + x = angular.element('<label><i>'+field.fieldDisplayName+'<span ng-show="ngShowFieldId"> [ '+field.fieldId+' ] </span>:</i></label><br> <input type="checkbox" ng-model="ngModel.'+field.fieldId+'" tabindex="0" ng-change="triggerFormFields('+field.triggerOtherFormFields+')" att-checkbox>'); + } + } + parentElement.append(x); + $compile(x)($scope); + }; + $scope.buildForm = function() { + // create elements <table> and a <tbody> + var tbl = angular.element("<table></table>"); + var tblBody = angular.element("<tbody></tbody>"); + var row = angular.element("<tr></tr>"); + + var ngFormFieldsLength = $scope.ngFormFields.length; + + for (var j = 0; j < ngFormFieldsLength; j++) { + var cell = angular.element("<td style='padding: 5px;'></td>"); + $scope.buildField($scope.ngFormFields[j],cell); + row.append(cell); + + if((j!=0 && (j+1)%$scope.ngNumFormCols==0) || j==(ngFormFieldsLength-1)){ + tblBody.append(row); + row = angular.element("<tr></tr>"); + } + } + tbl.append(tblBody); + angular.element($scope.element).html(''); + $scope.element.append(tbl); + }; + + + $scope.formFieldLuValues = {}; + $scope.getEBZFormat = function() { + if($scope.ngFormFields && $scope.ngFormFields.length>0){ + $scope.ngFormFields.forEach(function(formField) { + if(formField.fieldType === 'LIST_MULTI_SELECT') { + $scope.ngModel[formField.fieldId]= []; + if(formField.formFieldValues && formField.formFieldValues.length>0){ + formField.formFieldValues.forEach(function(entry,i) { + $scope.ngModel[formField.fieldId].push({ index: i, value: entry.id, title: entry.name, defaultValue: entry.defaultValue}); + }); + } + } else if(formField.fieldType==='LIST_BOX') { + $scope.formFieldLuValues[formField.fieldId]= []; + if(formField.formFieldValues && formField.formFieldValues.length>0){ + formField.formFieldValues.forEach(function(entry,i) { + $scope.formFieldLuValues[formField.fieldId].push({ index: i, value: entry.id, title: entry.name}); + if(entry.defaultValue){ + $scope.ngModel[formField.fieldId]={ index: i, value: entry.id, title: entry.name}; + } + }); + } + } else if(formField.fieldType === 'text' || formField.fieldType === 'TEXT' || + formField.validationType === 'DATE' || formField.validationType === 'TIMESTAMP_MIN') { + if(formField.formFieldValues && formField.formFieldValues.length>0){ + $scope.ngModel[formField.fieldId]=formField.formFieldValues[0].id; + } + } + }); + } + }; + + $scope.$watch("ngFormFields",function(newValue,oldValue) { + if($scope.ngFormFields){ + $scope.getEBZFormat(); + $scope.buildForm(); + } + }); + + $scope.triggerFormFields = function(triggerFlag) { + if(triggerFlag){ + $scope.element.html('Loading...'); + $scope.ngTriggerMethod(); + } + }; + + } + }; + }]); diff --git a/usecaseui-common/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-reports/directive/step-form-directive.js b/usecaseui-common/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-reports/directive/step-form-directive.js new file mode 100644 index 00000000..a64309bf --- /dev/null +++ b/usecaseui-common/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-reports/directive/step-form-directive.js @@ -0,0 +1,14 @@ +appDS2 +.directive('stepForm', function($compile,$http, stepFormFactory) { + return { + restrict: 'AE', + + // scope: { + // jsonSource: '=' + // }, + link: function(scope, elem, attrs) { + var jsonSrcName = "app/fusionapp/scripts/view-models/wz_steps/json/step1.json"; + stepFormFactory.renderForm(jsonSrcName, elem, scope); + } + } +}); diff --git a/usecaseui-common/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-reports/modal/report-del-confirm.html b/usecaseui-common/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-reports/modal/report-del-confirm.html new file mode 100644 index 00000000..da255bbf --- /dev/null +++ b/usecaseui-common/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-reports/modal/report-del-confirm.html @@ -0,0 +1,26 @@ +<div style="height:400px"> + <div class="b2b-modal-header ng-scope in"> + <h2 id="myModalLabel" modal-title="">Remove Report</h2> + <div class="corner-button in"> + <button type="button" class="close" aria-label="Close" + ng-click="$dismiss('cancel')"></button> + </div> + </div> + <div class="b2b-modal-body ng-scope ng-isolate-scope in" style="margin-bottom: -50px;"> + <form name="workflowForm" class="css-form" novalidate> + + <div class="form-row input-emphasized-field"> + <label class="span12 input-emphasized" for="textinputID-2a">The selected report will be removed. Do you want to continue</label> + </div> + + <div class="b2b-modal-footer ng-scope ng-isolate-scope in"> + <div class="cta-button-group in"> + <button class="btn btn-alt btn-small" type="button" ng-click="ok()">OK</button> + <button class="btn btn-alt btn-small" type="button" + ng-click="cancel()">Cancel</button> + </div> + </div> + </form> + <br /> + </div> +</div>
\ No newline at end of file diff --git a/usecaseui-common/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-reports/modal/report-formfield-del-confirm.html b/usecaseui-common/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-reports/modal/report-formfield-del-confirm.html new file mode 100644 index 00000000..7bdf5a29 --- /dev/null +++ b/usecaseui-common/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-reports/modal/report-formfield-del-confirm.html @@ -0,0 +1,26 @@ +<div style="height:400px"> + <div class="b2b-modal-header ng-scope in"> + <h2 id="myModalLabel" modal-title="">Remove Formfield</h2> + <div class="corner-button in"> + <button type="button" class="close" aria-label="Close" + ng-click="$dismiss('cancel')"></button> + </div> + </div> + <div class="b2b-modal-body ng-scope ng-isolate-scope in" style="margin-bottom: -50px;"> + <form name="workflowForm" class="css-form" novalidate> + + <div class="form-row input-emphasized-field"> + <label class="span12 input-emphasized" for="textinputID-2a">The selected formfield {{tempFieldId}} will be removed. Do you want to continue</label> + </div> + + <div class="b2b-modal-footer ng-scope ng-isolate-scope in"> + <div class="cta-button-group in"> + <button class="btn btn-alt btn-small" type="button" ng-click="ok()">OK</button> + <button class="btn btn-alt btn-small" type="button" + ng-click="cancel()">Cancel</button> + </div> + </div> + </form> + <br /> + </div> +</div>
\ No newline at end of file diff --git a/usecaseui-common/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-reports/modal/report-security-role-del-confirm.html b/usecaseui-common/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-reports/modal/report-security-role-del-confirm.html new file mode 100644 index 00000000..01d1e609 --- /dev/null +++ b/usecaseui-common/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-reports/modal/report-security-role-del-confirm.html @@ -0,0 +1,26 @@ +<div style="height:300px"> + <div class="b2b-modal-header ng-scope in"> + <h2 id="myModalLabel" modal-title="">Remove Report Role</h2> + <div class="corner-button in"> + <button type="button" class="close" aria-label="Close" + ng-click="$dismiss('cancel')"></button> + </div> + </div> + <div class="b2b-modal-body ng-scope ng-isolate-scope in" style="margin-bottom: -50px;"> + <form name="workflowForm" class="css-form" novalidate> + + <div class="form-row input-emphasized-field"> + <label class="span12 input-emphasized" for="textinputID-2a">{{securityRoleName}} will be removed. Would you want to continue?</label> + </div> + + <div class="b2b-modal-footer ng-scope ng-isolate-scope in"> + <div class="cta-button-group in"> + <button class="btn btn-alt btn-small" type="button" ng-click="ok()">OK</button> + <button class="btn btn-alt btn-small" type="button" + ng-click="cancel()">Cancel</button> + </div> + </div> + </form> + <br /> + </div> +</div>
\ No newline at end of file diff --git a/usecaseui-common/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-reports/modal/report-security-user-del-confirm.html b/usecaseui-common/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-reports/modal/report-security-user-del-confirm.html new file mode 100644 index 00000000..6620fe7c --- /dev/null +++ b/usecaseui-common/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-reports/modal/report-security-user-del-confirm.html @@ -0,0 +1,26 @@ +<div style="height:300px"> + <div class="b2b-modal-header ng-scope in"> + <h2 id="myModalLabel" modal-title="">Remove Report User</h2> + <div class="corner-button in"> + <button type="button" class="close" aria-label="Close" + ng-click="$dismiss('cancel')"></button> + </div> + </div> + <div class="b2b-modal-body ng-scope ng-isolate-scope in" style="margin-bottom: -50px;"> + <form name="workflowForm" class="css-form" novalidate> + + <div class="form-row input-emphasized-field"> + <label class="span12 input-emphasized" for="textinputID-2a">{{securityUserName}} will be removed. Would you want to continue?</label> + </div> + + <div class="b2b-modal-footer ng-scope ng-isolate-scope in"> + <div class="cta-button-group in"> + <button class="btn btn-alt btn-small" type="button" ng-click="ok()">OK</button> + <button class="btn btn-alt btn-small" type="button" + ng-click="cancel()">Cancel</button> + </div> + </div> + </form> + <br /> + </div> +</div>
\ No newline at end of file diff --git a/usecaseui-common/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-reports/modal/report-user-role-confirm-toggle.html b/usecaseui-common/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-reports/modal/report-user-role-confirm-toggle.html new file mode 100644 index 00000000..21bb046f --- /dev/null +++ b/usecaseui-common/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-reports/modal/report-user-role-confirm-toggle.html @@ -0,0 +1,23 @@ +<div> + <div class="b2b-modal-header ng-scope in"> + <h1><i class="icon-primary-alert"></i></h1> + <h2 id="myModalLabel" modal-title="">Confirm</h2> + <div class="corner-button in"> + <button type="button" class="close" aria-label="Close" + ng-click="$dismiss('cancel')"></button> + </div> + </div> + <div class="b2b-modal-body ng-scope ng-isolate-scope in" tabindex="0" + role="region" aria-label="Modal header text content" + style="height: 55px;"> + You are about to {{rowData.accessAllowed?"grant":"revoke"}} {{rowData.name}} edit access. Would you like to continue? + </div> + <div class="b2b-modal-footer ng-scope ng-isolate-scope in"> + <div class="cta-button-group in"> + <button class="btn btn-alt btn-medium" type="button" + ng-click="toggleEditAccessStatus(rowData);">Ok</button> + <button class="btn btn-clear btn-medium" type="button" + ng-click="cancelEditAccessToggle(rowData);">Cancel</button> + </div> + </div> +</div> diff --git a/usecaseui-common/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-reports/modal/report-wizard-col-edit.html b/usecaseui-common/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-reports/modal/report-wizard-col-edit.html new file mode 100644 index 00000000..e74f89a8 --- /dev/null +++ b/usecaseui-common/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-reports/modal/report-wizard-col-edit.html @@ -0,0 +1,130 @@ +<style> +#columnEditTable table tbody td { + border: none; +} + +#columnEditTable table tbody tr { + border: none; +} + +.colTableLeftColumn { + width: 45%; + text-align: right; + vertical-align:middle; +} + +.colTableInput { + width:220px; +} + +#columnEditTable .selectWrap{ + width:220px; +} + + +#drilldownOption .selectWrap{ + width:450px; +} +</style> + +<div style="height: 700px;"> + <div class="b2b-modal-header ng-scope in"> + <h2 id="myModalLabel" modal-title="">Report Column - Edit </h2> + <div class="corner-button in"> + <button type="button" class="close" aria-label="Close" + ng-click="$dismiss('cancel')"></button> + </div> + </div> + <div class="b2b-modal-body ng-scope ng-isolate-scope in" style="margin-bottom: -50px;"> + <form name="workflowForm" class="css-form" novalidate> + +<!-- <div class="form-row input-emphasized-field"> + <label class="span12 input-emphasized" for="textinputID-2a">The selected report will be removed. Do you want to continue</label> + </div> --> + <div id="columnEditTable"> + <table class="striped"> +<!-- <caption><span>Table caption</span></caption> --> +<!-- <thead> + <tr> + <th>Column ID:</th> + <th>Name</th> + <th>ID</th> + <th>Edit</th> + </tr> + </thead> --> + <tbody> + <tr> + <td class="colTableLeftColumn">Column ID:</td> + <td>{{columnEditData.colId}}</td> + </tr> + + <tr> + <td class="colTableLeftColumn">Display Name:</td> + <td><input type="text" name="displayName" ng-model="colName.value" class="colTableInput"></td> + </tr> + +<!-- <tr> + <td class="colTableLeftColumn">Display Width (px):</td> + <td><input type="text" name="displayWidth" ng-model="displayWidth" class="colTableInput"></td> + </tr> --> + + <tr> + <td class="colTableLeftColumn">Display Alignment: </td> + <td> + <select name="displayAlignment" b2b-dropdown ng-model="selectedDisplayAlignment.value" placeholder-text="Select"> + <option b2b-dropdown-list option-repeat="d in displayAlignmentOptions" value="{{d.value}}">{{d.text}}</option> + </select> + </td> + </tr> + + <tr> + <td class="colTableLeftColumn">Display Header Alignment:</td> + <td> + <select name="displayHeaderAlignment" b2b-dropdown ng-model="selectedDisplayHeaderAlignment.value" placeholder-text="Select"> + <option b2b-dropdown-list option-repeat="d in displayAlignmentOptions" value="{{d.value}}">{{d.text}}</option> + </select> + </td> + </tr> + + <tr> + <td class="colTableLeftColumn">Sortable:</td> + <td> + <select name="sortable" b2b-dropdown ng-model="sortable.value" placeholder-text="Select"> + <option b2b-dropdown-list option-repeat="d in ynOptions" value="{{d.value}}">{{d.text}}</option> + </select> + </td> + </tr> + + <tr> + <td class="colTableLeftColumn">Visible:</td> + <td> + <select name="visible" b2b-dropdown ng-model="visible.value" placeholder-text="Select"> + <option b2b-dropdown-list option-repeat="d in ynOptions" value="{{d.value}}">{{d.text}}</option> + </select> + </td> + </tr> + + <tr> + <td class="colTableLeftColumn" style="width:350px;">Drill-down Link:</td> + <td id="drilldownOption"> + <select name="drillDown" b2b-dropdown ng-model="selectedDrillDownReport.value" placeholder-text="Select"> + <option b2b-dropdown-list option-repeat="d in drilldownReports" value="{{d.id}}">{{d.name}}</option> + </select> + </td> + </tr> + + + </tbody> + </table> + </div> + <div class="b2b-modal-footer ng-scope ng-isolate-scope in"> + <div class="cta-button-group in"> + <button class="btn btn-alt btn-small" type="button" ng-click="save()">Save</button> + <button class="btn btn-alt btn-small" type="button" + ng-click="cancel()">Cancel</button> + </div> + </div> + </form> + <br /> + </div> +</div>
\ No newline at end of file diff --git a/usecaseui-common/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-reports/modal/report-wizard-drilldown-edit.html b/usecaseui-common/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-reports/modal/report-wizard-drilldown-edit.html new file mode 100644 index 00000000..6b98ac78 --- /dev/null +++ b/usecaseui-common/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-reports/modal/report-wizard-drilldown-edit.html @@ -0,0 +1,112 @@ +<style> +#columnEditTable table tbody td { + border: none; +} + +#columnEditTable table tbody tr { + border: none; +} + +.colTableLeftColumn { + width: 45%; + vertical-align:center; +} + +.colTableInput { + width:220px; +} + +#columnEditTable .selectWrap{ + width:220px; +} + +</style> + +<div style="height: 700px;"> + <div class="b2b-modal-header ng-scope in"> + <h2 id="myModalLabel" modal-title="">Drill-down Parameters Configuration</h2> + <div class="corner-button in"> + <button type="button" class="close" aria-label="Close" + ng-click="$dismiss('cancel')"></button> + </div> + </div> + <div class="b2b-modal-body ng-scope ng-isolate-scope in" style="margin-bottom: -50px;"> + <form name="workflowForm" class="css-form" novalidate> + + <div id="columnEditTable" ng-repeat="drillDownOption in drillDownOptionList"> + <table class="striped"> + <tbody> + <fieldset role="radiogroup" radio-group-accessibility> + <tr ng-show="childReportFF.length>0||childReportCol.length>0"> + <td colspan="2"> + <h2>{{drillDownOption.name}}</h2> + </td> + </tr> + + + <tr ng-show="childReportFF.length>0||childReportCol.length>0"> + <td> + <div class="form-row" role="radio" style="margin-top:0px;"> + <label for="optionsRadios2{{$index}}" class="radio"> + <input type="radio" ng-model="drillDownOption.selectedvalueradioGroup.name" id="optionsRadios2{{$index}}" name="optionsRadio2{{$index}}" value="fixedValue"> + <i class="skin"></i> + <span>Fixed Value</span> + </label> + </div> + </td> + <td><input type="text" name="defaultValue" ng-model="drillDownOption.fixedValue.value" class="colTableInput"></td> + </tr> + + + <tr ng-show="childReportCol.length>0"> + <td> + <div class="form-row" role="radio" style="margin-top:0px;"> + <label for="optionsRadios3{{$index}}" class="radio"> + <input type="radio" ng-model="drillDownOption.selectedvalueradioGroup.name" id="optionsRadios3{{$index}}" name="optionsRadio3{{$index}}" value="reportCol"> + <i class="skin"></i> + <span>Value of Column</span> + </div> + </td> + <td> + <select name="childReportColumn" b2b-dropdown ng-model="drillDownOption.selectedChildReportColumn.value" placeholder-text="Select"> + <option b2b-dropdown-list option-repeat="d in childReportCol" value="{{d.id}}">{{d.name}}</option> + </select> + </td> + + </tr> + + <tr ng-show="childReportFF.length>0"> + <td> + <div class="form-row" role="radio" style="margin-top:0px;"> + <label for="optionsRadios4{{$index}}" class="radio"> + <input type="radio" ng-model="drillDownOption.selectedvalueradioGroup.name" id="optionsRadios4{{$index}}" name="optionsRadio4{{$index}}" value="reportFF"> + <i class="skin"></i> + <span>Value of Form Field</span> + </div> + </td> + <td> + <select name="childReportFormField" b2b-dropdown ng-model="drillDownOption.selectedChildReportFormField.value" placeholder-text="Select"> + <option b2b-dropdown-list option-repeat="d in childReportFF" value="{{d.id}}">{{d.name}}</option> + </select> + </td> + </tr> + + + + </fieldset> + + + </tbody> + </table> + </div> + <div class="b2b-modal-footer ng-scope ng-isolate-scope in"> + <div class="cta-button-group in"> + <button class="btn btn-alt btn-small" type="button" + ng-click="complete()">Complete</button> + </div> + + </div> + </form> + <br /> + </div> +</div>
\ No newline at end of file diff --git a/usecaseui-common/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-reports/modal/report-wizard-formfield-edit.html b/usecaseui-common/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-reports/modal/report-wizard-formfield-edit.html new file mode 100644 index 00000000..c88eb596 --- /dev/null +++ b/usecaseui-common/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-reports/modal/report-wizard-formfield-edit.html @@ -0,0 +1,149 @@ +<style> +#columnEditTable table tbody td { + border: none; +} + +#columnEditTable table tbody tr { + border: none; +} + +.colTableLeftColumn { + width: 45%; + text-align: right; + vertical-align:middle; +} + +.colTableInput { + width:220px; +} + +#columnEditTable .selectWrap{ + width:220px; +} +</style> + +<div style="height: 700px;"> + <div class="b2b-modal-header ng-scope in"> + <h2 id="myModalLabel" modal-title="">Report Form Field - Edit</h2> + <div class="corner-button in"> + <button type="button" class="close" aria-label="Close" + ng-click="$dismiss('cancel')"></button> + </div> + </div> + <div class="b2b-modal-body ng-scope ng-isolate-scope in" style="margin-bottom: -50px;"> + <form name="workflowForm" class="css-form" novalidate> + +<!-- <div class="form-row input-emphasized-field"> + <label class="span12 input-emphasized" for="textinputID-2a">The selected report will be removed. Do you want to continue</label> + </div> --> + <div id="columnEditTable"> + <table class="striped"> +<!-- <caption><span>Table caption</span></caption> --> +<!-- <thead> + <tr> + <th>Column ID:</th> + <th>Name</th> + <th>ID</th> + <th>Edit</th> + </tr> + </thead> --> + <tbody> +<!-- <tr> + <td class="colTableLeftColumn">Field ID:</td> + <td>{{formFieldEditData.fieldId}}</td> + </tr> --> + + <tr> + <td class="colTableLeftColumn">Field Name:</td> + <td><input type="text" name="displayName" ng-model="fieldName.value" class="colTableInput"></td> + </tr> + + <tr> + <td class="colTableLeftColumn">Field Type: </td> + <td> + <select name="displayAlignment" b2b-dropdown ng-model="selectedFieldType.value" placeholder-text="Select"> + <option b2b-dropdown-list option-repeat="d in fieldTypeOptions" value="{{d.value}}">{{d.text}}</option> + </select> + </td> + </tr> + + <tr> + <td class="colTableLeftColumn">Visible:</td> + <td> + <select name="displayHeaderAlignment" b2b-dropdown ng-model="selectedVisible.value" placeholder-text="Select"> + <option b2b-dropdown-list option-repeat="d in ynOptions" value="{{d.value}}">{{d.text}}</option> + </select> + </td> + </tr> + + <tr> + <td class="colTableLeftColumn">SQL as Default Value:</td> + <td> + <label for="checkbox1" class="checkbox"> + <input id="checkbox1" type="checkbox" ng-model="sqlDefaultValueSelected.value" /><i class="skin"></i><span></span> + </label> + </td> + </tr> + + <tr ng-hide="sqlDefaultValueSelected.value"> + <td class="colTableLeftColumn">Default Value:</td> + <td><input type="text" name="defaultValue" ng-model="defaultValue.value" class="colTableInput"></td> + </tr> + + + <tr ng-show="sqlDefaultValueSelected.value"> + <td class="colTableLeftColumn">Default SQL:</td> + <td> + <textarea b2b-reset b2b-dragon-input b2b-reset-textarea ng-model="fieldDefaultSQL.value" style="height:80px"> + </textarea> + </td> + <td> + <p><button ng-click="formFieldVerifySQL(fieldDefaultSQL.value)" class="btn btn-alt btn-small">Verify</button></p> + </td> + </tr> + +<!-- <tr> + <td class="colTableLeftColumn">Verify Field Value As: </td> + <td> + <select name="displayAlignment" b2b-dropdown ng-model="selectedVerifyFieldValue.value" placeholder-text="Select"> + <option b2b-dropdown-list option-repeat="d in verifyFieldValueOptions" value="{{d.value}}">{{d.text}}</option> + </select> + </td> + </tr> --> + + <tr> + <td class="colTableLeftColumn">SQL Generating Custom List of Values:</td> + <td> + <textarea b2b-reset b2b-dragon-input b2b-reset-textarea ng-model="fieldSqlContent.value" style="height:80px"> + </textarea> + </td> + <td> + <p><button ng-click="formFieldVerifySQL(fieldSqlContent.value)" class="btn btn-alt btn-small">Verify</button></p> + </td> + </tr> + +<!-- <tr> + <td class="colTableLeftColumn">Drill-down Link:</td> + <td> + <select name="drillDown" b2b-dropdown ng-model="selectedDrillDownLink.value" placeholder-text="Select"> + <option b2b-dropdown-list option-repeat="d in drillDownOptions" value="{{d.value}}">{{d.text}}</option> + </select> + </td> + </tr> --> + + + </tbody> + </table> + </div> + <div class="b2b-modal-footer ng-scope ng-isolate-scope in"> + <div class="cta-button-group in"> + <button class="btn btn-alt btn-small" type="button" ng-click="save()">Save</button> + <button class="btn btn-alt btn-small" type="button" + ng-click="cancel()">Cancel</button> + </div> + + </div> + </form> + <br /> + </div> +</div>
\ No newline at end of file diff --git a/usecaseui-common/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-reports/modal/report-wizard-report-name-validation.html b/usecaseui-common/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-reports/modal/report-wizard-report-name-validation.html new file mode 100644 index 00000000..50132ecf --- /dev/null +++ b/usecaseui-common/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-reports/modal/report-wizard-report-name-validation.html @@ -0,0 +1,20 @@ +<div style="height: 220px;"> + <div class="b2b-modal-header ng-scope in"> + <h2 id="myModalLabel" modal-title="">Warning</h2> + <div class="corner-button in"> + <button type="button" class="close" aria-label="Close" + ng-click="$dismiss('cancel')"></button> + </div> + </div> + <div class="b2b-modal-body ng-scope ng-isolate-scope in" style="margin-bottom: -50px;"> + <form name="workflowForm" class="css-form" novalidate> + <div class="b2b-modal-footer ng-scope ng-isolate-scope in"> + <p>Please enter the missing report name.</p> + + <button class="btn btn-alt btn-small" type="button" + ng-click="close()">close</button> + </div> + </form> + <br /> + </div> +</div>
\ No newline at end of file diff --git a/usecaseui-common/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-reports/modal/report-wizard-test-run-sql.html b/usecaseui-common/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-reports/modal/report-wizard-test-run-sql.html new file mode 100644 index 00000000..a7955cad --- /dev/null +++ b/usecaseui-common/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-reports/modal/report-wizard-test-run-sql.html @@ -0,0 +1,62 @@ +<style> +.colTableLeftColumn { + width: 45%; + text-align: right; + vertical-align:middle; +} + +.colTableInput { + width:220px; +} + +#columnEditTable .selectWrap{ + width:220px; +} +</style> + +<div style="height: 700px;"> + <div class="b2b-modal-header ng-scope in"> + <h2 id="myModalLabel" modal-title="">SQL Test Run - {{isError?'Failed':'Executed'}}</h2> + <div class="corner-button in"> + <button type="button" class="close" aria-label="Close" + ng-click="$dismiss('cancel')"></button> + </div> + </div> + <div class="b2b-modal-body ng-scope ng-isolate-scope in" style="margin-bottom: -50px;"> + <form name="workflowForm" class="css-form" novalidate> +<!-- <div class="form-row input-emphasized-field"> + <label class="span12 input-emphasized" for="textinputID-2a">The selected report will be removed. Do you want to continue</label> + </div> --> + <div> + + <div ng-show="isError"> + <h2>Error Message:</h2><br> + <p>{{errormessage}}</p> + <h2>Stack Trace:</h2><br> + <p>{{stacktrace}}</p> + + </div> + <table class="striped"> + <thead> + <tr> + <th ng-repeat="colName in queryData.reportDataColumns">{{colName}}</th> + </tr> + </thead> + <tbody> + <tr ng-repeat="rowData in queryData.reportDataRows"> + <td ng-repeat="keyName in queryData.reportDataColumns">{{rowData[keyName]}}</td> + </tr> + + </tbody> + </table> + </div> + <div class="b2b-modal-footer ng-scope ng-isolate-scope in"> + <div class="cta-button-group in"> + <button class="btn btn-alt btn-small" type="button" + ng-click="close()">Close</button> + </div> + </div> + </form> + <br /> + </div> +</div>
\ No newline at end of file diff --git a/usecaseui-common/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-reports/report-chart-wizard.html b/usecaseui-common/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-reports/report-chart-wizard.html new file mode 100644 index 00000000..8558729e --- /dev/null +++ b/usecaseui-common/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-reports/report-chart-wizard.html @@ -0,0 +1,897 @@ +<style> +table tbody td { + border: none; +} + +table tbody tr { + border: none; +} + +table{ + border: none; + margin-bottom:0px; +} + +#RangeTable{ + margin-top: 5px; + border: 1px solid black; +} +</style> + +<div id="page-content"> +<h1 class="heading-page">Report Chart Configuration</h1> + +<div ng-show="showLoader" class="span loader-container"> + <i class="icon-primary-spinner" role="img" + aria-label="Please wait while we load your content"></i> +</div> + + +<div ng-hide="showLoader"> +<div> +<table> + <thead> + <tr> + <th width="30%">Chart Type</th> + <th></th> + </tr> + </thead> + + <tbody> + <tr> + <td> + <select name="chartType" b2b-dropdown ng-model="reportRunJson.chartType"> + <option b2b-dropdown-list option-repeat="d in chartTypeOptions" value="{{d.value}}">{{d.text}}</option> + </select> + </td> + <td></td> + </tr> + </tbody> +</table> + +<table> + <thead> + <tr> + <th width="50px">Width (px)</th> + <th>Height (px)</th> + </tr> + </thead> + <tbody> + <tr> + <td> + <input type="text" name="displayName" ng-model="reportRunJson.width" style="width:100px;"> + </td> + <td> + <input type="text" name="displayName" ng-model="reportRunJson.height" style="width:100px;"> + </td> + </tr> + </tbody> +</table> + +<table> + <thead> + <tr> + <th width="50px">Title</th> + </tr> + </thead> + <tbody> + <tr> + <fieldset role="radiogroup" radio-group-accessibility> + <td> + <label for="optionsRadiosShowTitleTrue" class="radio"> + <input type="radio" ng-model="reportRunJson.showTitle" id="optionsRadiosShowTitleTrue" name="optionsRadiosShowTitleTrue" value="true"> + <i class="skin"></i> + <span>Show</span> + </label> + </td> + <td> + <label for="optionsRadiosShowTitleFalse" class="radio"> + <input type="radio" ng-model="reportRunJson.showTitle" id="optionsRadiosShowTitleFalse" name="optionsRadiosShowTitleFalse" value="false"> + <i class="skin"></i> + <span>Hide</span> + </label> + </td> + </fieldset> + </tr> + + </tbody> +</table> + +<table> + <thead> + <tr> + <th width="30%">Domain Axis</th> + <th width="30%">Category</th> + <th width="40%"></th> + </tr> + </thead> + <tbody> + <tr> + <td> + <select name="chartType" b2b-dropdown ng-model="reportRunJson.domainAxis"> + <option b2b-dropdown-list option-repeat="d in reportRunJson.chartColumnJSONList" value="{{d.value}}">{{d.title}}</option> + </select> + </td> + <td> + <select name="chartType" b2b-dropdown ng-model="reportRunJson.categoryAxis"> + <option b2b-dropdown-list option-repeat="d in reportRunJson.chartColumnJSONList" value="{{d.value}}">{{d.title}}</option> + </select> + </td> + </tr> + </tbody> +</table> + + + <div id="RangeTable"> + +<table ng-repeat="rangeReport in reportRunJson.rangeAxisList"> + <thead> + <tr> + <th width="18%">Range Axis</th> + <th width="15%">Y Axis</th> + <th width="15%">Chart Title</th> + <th width="22%">Color</th> + <th width="25%">Line Type</th> + <th></th> + </tr> + </thead> + <tbody> + <tr> + <td> + <select name="chartType" b2b-dropdown ng-model="rangeReport.rangeAxisLabelJSON.value" placeholder-text="Select" ng-disabled="rangeReport.removed=='true'"> + <option b2b-dropdown-list option-repeat="d in reportRunJson.chartColumnJSONList" value="{{d.value}}">{{d.title}}</option> + </select> + </td> + <td> + <input type="text" name="displayName" ng-model="rangeReport.rangeYAxis" ng-disabled="rangeReport.removed=='true'" style="width:100px;"> + </td> + <td> + <input type="text" name="displayName" ng-model="rangeReport.rangeChartGroup" ng-disabled="rangeReport.removed=='true'" style="width:150px;"> + </td> + <td> + <select name="chartType" b2b-dropdown ng-model="rangeReport.rangeColor" ng-disabled="rangeReport.removed=='true'"> + <option b2b-dropdown-list option-repeat="d in rangeColors" value="{{d.value}}">{{d.title}}</option> + </select> + </td> + <td> + <select name="lineType" b2b-dropdown ng-model="rangeReport.rangeLineType" ng-disabled="rangeReport.removed=='true'"> + <option b2b-dropdown-list option-repeat="d in lineTypes" value="{{d.value}}">{{d.title}}</option> + </select> + </td> + <td> + <button ng-show="$index==0" type="submit" style="width: 90px; height:35px;margin-left:5px;" class="btn btn-secondary btn-small" ng-click="addRangeAxisRow()">Add</button> + <span ng-hide="$index==0"> + <button ng-if="rangeReport.removed!='true'" type="submit" style="width: 90px; height:35px;margin-left:5px;" class="btn btn-secondary btn-small" ng-click="removeRangeAxisRow($index)">Remove</button> + <button ng-if="rangeReport.removed=='true'" type="submit" style="width: 90px; height:35px;margin-left:5px;" class="btn btn-secondary btn-small" disabled="disabled">Removed</button> + </span> + </td> + </tr> + + </tbody> +</table> +</div> + +</div> + +<div ng-show=false style="min-height:500px" data-ng-init="init()"> + <div class="fn-ebz-container" > + <label class="fn-ebz-text-label">Chart Type</label><BR> + <div class="form-field" att-select="chartTypes" ng-model="reportRunJson.chartTypeJSON" placeholder="Select an Option" show-input-filter="true" ng-change="actionClicked()"></div> + </div> + + + <div class="fn-ebz-container" style="position:relative; top: -8px;"> + <label class="fn-ebz-text-label">Animate</label><BR> + <div><input type="checkbox" ng-model="reportRunJson.animation" att-checkbox data-ng-value="true"></div> + </div> + <BR> + + <div class="fn-ebz-container" > + <label class="fn-ebz-text-label">Width (Px)</label><BR> + <input type="text" name="chartWidth" maxlength=4 only-digits ng-model="reportRunJson.width" style="width:80px"/> + </div> + + <div class="fn-ebz-container" > + <label class="fn-ebz-text-label">Height (Px)</label><BR> + <input type="text" name="chartHeight" maxlength=4 only-digits ng-model="reportRunJson.height" style="width:80px"/> + </div> + <BR> + + <div class="fn-ebz-container"> + <label class="fn-ebz-text-label">Title</label><BR> + <span><input name="tle" type="radio" ng-model="reportRunJson.showTitle" data-ng-value="true"/>Show</span> + <span><input name="tle" type="radio" ng-model="reportRunJson.showTitle" data-ng-value="false"/>Hide</span> + </div> + <BR> + + + <div class="fn-ebz-container" > + <label class="fn-ebz-text-label">Domain Axis</label><BR> + <div class="form-field" att-select="reportRunJson.chartColumnJSONList" ng-model="reportRunJson.domainAxisJSON" placeholder="Select an Option" show-input-filter="true"></div> + </div> + + <div class="fn-ebz-container" > + <label class="fn-ebz-text-label">Category</label><BR> + <div class="form-field" att-select="reportRunJson.chartColumnJSONList" ng-model="reportRunJson.categoryAxis" placeholder="" show-input-filter="true"></div> + </div> + <BR> + +<div style="border:2px;border-style:solid;border-color:#808080;margin-bottom:9px"> +<div ng-repeat="rangeReport in reportRunJson.rangeAxisList"> + <div style="margin-left:5px"> + <div class="fn-ebz-container"> + <label class="fn-ebz-text-label">Range Axis</label><BR> + <div class="form-field" att-select="reportRunJson.chartColumnJSONList" + ng-model="rangeReport.rangeAxisLabelJSON" placeholder="Select an Option" show-input-filter="true"></div> + </div> + + + <div class="fn-ebz-container" > + <label class="fn-ebz-text-label">Y Axis</label><BR> + <input id="yaxs" type="text" name="yAxis" maxlength=50 ng-model=rangeReport.rangeYAxis style="width:100px"/> + </div> + + <div class="fn-ebz-container" > + <label class="fn-ebz-text-label">Chart Title</label><BR> + <input type="text" name="chartTitle" maxlength=50 ng-model="rangeReport.rangeChartGroup" style="width:200px"/> + </div> + + <div class="fn-ebz-container" > + <label class="fn-ebz-text-label">Color</label><BR> + <div class="form-field" att-select="rangeColors" ng-model="rangeReport.rangeColorJSON" placeholder="Select an Option" show-input-filter="true"></div> + </div> + + <div class="fn-ebz-container" > + <label class="fn-ebz-text-label">Line Type</label><BR> + <div class="form-field" att-select="lineTypes" ng-model="rangeReport.rangeLineTypeJSON" placeholder="Select an Option" show-input-filter="true"></div> + </div> + + <div class="fn-ebz-container" ng-show="reportRunJson.chartTypeJSON.value=='FlexTimeChart' || + reportRunJson.chartTypeJSON.value=='AnnotationChart'" style="position:relative; top: -8px;"> + <label class="fn-ebz-text-label">Area</label><BR> + <input type="checkbox" ng-model="rangeReport.showAsArea" att-checkbox data-ng-value="true"> + </div> + + <div class="fn-ebz-container" style="position:relative; top: 25px;"> + <a href="javascript:void(0)" ng-show="{{$index==0}}" style="float: right;" att-button btn-type="secondary" size="small" att-accessibility-click="13,32" + ng-click="addRangeAxisRow(rangeReport);" >Add</a> + <a href="javascript:void(0)" ng-show="{{$index>0}}" style="float: right;" att-button btn-type="secondary" size="small" att-accessibility-click="13,32" ng-click="removeRangeAxisRow($index);" > + Remove</a> + </div> + </div> + </div> + </div> + <BR> + +<accordion close-others="true" css="att-accordion--no-box"> + <accordion-group id="additionalOptions" heading="Additional Options" child-length="10"> + <div class="fn-ebz-container"> + <label class="fn-ebz-text-label">Primary Axis Label</label><BR> + <input type="text" name="prAxis" maxlength=50 ng-model="reportRunJson.primaryAxisLabel" style="width:210px"/> + </div> + <div class="fn-ebz-container" > + <label class="fn-ebz-text-label">Secondary Axis Label</label><BR> + <input type="text" name="secAxis" maxlength=75 ng-model="reportRunJson.secondaryAxisLabel" style="width:210px"/> + </div> + <BR> + <div class="fn-ebz-container" > + <label class="fn-ebz-text-label">Range Axis Minimum Range</label><BR> + <input type="text" name="rAxisMinRange" only-digits ng-model="reportRunJson.minRange" style="width:210px"/> + </div> + <div class="fn-ebz-container"> + <label class="fn-ebz-text-label">Maximum Range</label><BR> + <input type="text" name="rAxisMaxRange" only-digits ng-model="reportRunJson.maxRange" ng-maxLength="35" style="width:210px"/> + </div><BR> + </accordion-group> +</accordion> + + + + +<div ng-show="reportRunJson.chartType=='BarChart3D'"> + + <accordion close-others="true" css="att-accordion--no-box"> + <accordion-group id="accBar" heading="Bar Chart Options" child-length="10"> + + + <div style="border:2px;border-style:solid;border-color:#808080;margin-bottom:9px"> + <div class="fn-ebz-container" style="position:relative;margin:10px;" > + <label class="fn-ebz-text-label">Orientation</label><BR> + <span><input name="orient" type="radio" ng-model="reportRunJson.barChartOptions.verticalOrientation" data-ng-value="true"/>Vertical</span> + <span><input name="orient" type="radio" ng-model="reportRunJson.barChartOptions.verticalOrientation" data-ng-value="false"/>Horizontal</span> + </div> + + <div class="fn-ebz-container" style="position:relative;margin:10px;"> + <label class="fn-ebz-text-label">Stacked</label><BR> + <span><input name="stack" type="radio" ng-model="reportRunJson.barChartOptions.stackedChart" data-ng-value="true"/>Yes</span> + <span><input name="stack" type="radio" ng-model="reportRunJson.barChartOptions.stackedChart" data-ng-value="false"/>No</span> + </div> + + <div class="fn-ebz-container" style="position:relative;margin:10px;"> + <label class="fn-ebz-text-label">Show Controls</label><BR> + <span><input name="shwcontrol" type="radio" ng-model="reportRunJson.barChartOptions.displayBarControls" data-ng-value="true"/>Yes</span> + <span><input name="shwcontrol" type="radio" ng-model="reportRunJson.barChartOptions.displayBarControls" data-ng-value="false"/>No</span> + </div> + + <div class="fn-ebz-container" style="position:relative;margin:10px;"> + <label class="fn-ebz-text-label">XAxis Date Type</label><BR> + <span><input name="xAxisDtype" type="radio" ng-model="reportRunJson.barChartOptions.xAxisDateType" data-ng-value="true"/>Yes</span> + <span><input name="xAxisDtype" type="radio" ng-model="reportRunJson.barChartOptions.xAxisDateType" data-ng-value="false"/>No</span> + </div> + + <div class="fn-ebz-container" style="position:relative;margin:10px;"> + <label class="fn-ebz-text-label">Display less XAxis tickers</label><BR> + <span><input name="xTicker" type="radio" ng-model="reportRunJson.barChartOptions.minimizeXAxisTickers" data-ng-value="true"/>Yes</span> + <span><input name="xTicker" type="radio" ng-model="reportRunJson.barChartOptions.minimizeXAxisTickers" data-ng-value="false"/>No</span> + </div><BR> + + <div class="fn-ebz-container" style="position:relative;margin:10px;"> + <label class="fn-ebz-text-label">Is Time Axis?</label><BR> + <span><input name="timeAxis" type="radio" ng-model="reportRunJson.barChartOptions.timeAxis" data-ng-value="true"/>Yes</span> + <span><input name="timeAxis" type="radio" ng-model="reportRunJson.barChartOptions.timeAxis" data-ng-value="false"/>No</span> + </div> + + <div class="fn-ebz-container" style="position:relative;margin:10px;"> + <label class="fn-ebz-text-label">Log Scale (Y Axis)</label><BR> + <span><input type="checkbox" ng-model="reportRunJson.barChartOptions.yAxisLogScale" att-checkbox data-ng-value="true"></span> + + </div> + </div> + + </accordion-group> +</accordion> +</div> + {{reportRunJson.chartType}} + <div ng-show="reportRunJson.chartType=='TimeSeriesChart'"> + <accordion close-others="true" css="att-accordion--no-box"> + <accordion-group id="accTimeChart" heading="Time Series Chart Options" child-length="10"> + + <div style="border:2px;border-style:solid;border-color:#808080;margin-bottom:9px"> + <div style="margin-left:5px"> + <div class="fn-ebz-container"> + <label class="fn-ebz-text-label">Render as</label><BR> + <span><input name="renderAs" type="radio" ng-model="reportRunJson.timeSeriesChartOptions.lineChartRenderer" value="line"/>Line</span> + <span><input name="orient" type="radio" ng-model="reportRunJson.timeSeriesChartOptions.lineChartRenderer" value="area"/>Area</span> + </div> + + <div class="fn-ebz-container" style="position:relative;margin:10px;"> + <label class="fn-ebz-text-label">X Axis Label</label><BR> + <span><input type="checkbox" ng-model="reportRunJson.timeSeriesChartOptions.showXAxisLabel" att-checkbox data-ng-value="true"></span> + </div><BR> + + <div class="fn-ebz-container" style="position:relative;bottom:10px;"> + <label class="fn-ebz-text-label">X Axis <br>Tickers</label><BR> + <span style="position:relative;top:10px;"><input type="checkbox" ng-model="reportRunJson.timeSeriesChartOptions.addXAxisTicker" att-checkbox data-ng-value="true"></span> + </div> + + <div class="fn-ebz-container" style="position:relative;margin:20px;"> + <label class="fn-ebz-text-label">Is Time Axis?</label><BR> + <span><input name="timeAxisChart" type="radio" ng-model="reportRunJson.timeSeriesChartOptions.nonTimeAxis" data-ng-value="true"/>Yes</span> + <span><input name="timeAxisChart" type="radio" ng-model="reportRunJson.timeSeriesChartOptions.nonTimeAxis" data-ng-value="false"/>No</span> + </div> + + <div class="fn-ebz-container" style="position:relative;margin:10px;"> + <label class="fn-ebz-text-label">Multi Series?</label><BR> + <span><input name="mSeries" type="radio" ng-model="reportRunJson.timeSeriesChartOptions.multiSeries" data-ng-value="true"/>Yes</span> + <span><input name="mSeries" type="radio" ng-model="reportRunJson.timeSeriesChartOptions.multiSeries" data-ng-value="false"/>No</span> + </div> + </div> + </div> + + </accordion-group> + </accordion> + + </div> + + <div> + + <accordion close-others="true" css="att-accordion--no-box"> + <accordion-group id="accFlexTimeChart" heading="Flex Time Series Chart Options" child-length="10"> + + <div style="border:2px;border-style:solid;border-color:#808080;margin-bottom:9px"> + <div style="margin-left:5px"> + <div class="fn-ebz-container"> + <label class="fn-ebz-text-label">Zoom-In Window</label><BR> + <span><input type="text" name="zWindow" only-digits maxlength=3 ng-model="reportRunJson.flexTimeSeriesChartOptions.zoomIn"></span> + </div> + + <div class="fn-ebz-container" style="position:relative;margin:10px;"> + <label class="fn-ebz-text-label">Time Axis Type</label><BR> + <span><input name="timeAxisType" type="radio" ng-model="reportRunJson.flexTimeSeriesChartOptions.timeAxisType" value="weekly"/>Weekly</span> + <span><input name="timeAxisType" type="radio" ng-model="reportRunJson.flexTimeSeriesChartOptions.timeAxisType" value="daily"/>Daily</span> + <span><input name="timeAxisType" type="radio" ng-model="reportRunJson.flexTimeSeriesChartOptions.timeAxisType" value="hourly"/>Hourly</span> + <span><input name="timeAxisType" type="radio" ng-model="reportRunJson.flexTimeSeriesChartOptions.timeAxisType" value="30min"/>30 Min</span> + </div> + </div> + </div> + </accordion-group> + </accordion> + + </div> + + + + + + + + + <accordion close-others="true" css="att-accordion--no-box"> + <accordion-group id="accCommonOptions" heading="Common Options" child-length="10"> + + <div style="border:2px;border-style:solid;border-color:#808080;margin-bottom:9px"> + <div style="margin-left:5px"> + <div class="fn-ebz-container"> + <label class="fn-ebz-text-label">Legend Angle</label><BR> + <span><input name="langle" type="radio" ng-model="reportRunJson.commonChartOptions.legendLabelAngle" value="up45"/>up 45°</span> + <span><input name="langle" type="radio" ng-model="reportRunJson.commonChartOptions.legendLabelAngle" value="up90"/>up 90°</span> + <span><input name="langle" type="radio" ng-model="reportRunJson.commonChartOptions.legendLabelAngle" value="down45"/>down 45°</span> + <span><input name="langle" type="radio" ng-model="reportRunJson.commonChartOptions.legendLabelAngle" value="down90"/>down 90°</span> + <span><input name="langle" type="radio" ng-model="reportRunJson.commonChartOptions.legendLabelAngle" value="standard"/>Standard</span> + </div> + + <div class="fn-ebz-container" style="position:relative;margin:15px;"> + <label class="fn-ebz-text-label">Legend Position</label><BR> + <span><input name="lgPosition" type="radio" ng-model="reportRunJson.commonChartOptions.legendPosition" value="top"/>Top</span> + <span><input name="lgPosition" type="radio" ng-model="reportRunJson.commonChartOptions.legendPosition" value="bottom"/>Bottom</span> + </div><BR> + + <div class="fn-ebz-container"> + <label class="fn-ebz-text-label">Legend</label><BR> + <span><input name="lgd" type="radio" ng-model="reportRunJson.commonChartOptions.hideLegend" data-ng-value="false"/>Yes</span> + <span><input name="lgd" type="radio" ng-model="reportRunJson.commonChartOptions.hideLegend" data-ng-value="true"/>No</span> + </div> + + <div class="fn-ebz-container" style="position:relative;margin:10px;"> + <label class="fn-ebz-text-label">Animation</label><BR> + <span><input name="anmtate" type="radio" ng-model="reportRunJson.commonChartOptions.animateAnimatedChart" data-ng-value="true" />Yes</span> + <span><input name="anmtate" type="radio" ng-model="reportRunJson.commonChartOptions.animateAnimatedChart" data-ng-value="false"/>No</span> + </div><BR> + + <div class="fn-ebz-container"> + <label class="fn-ebz-text-label">Top Margin</label><BR> + <input type="text" name="reportRunJson.commonChartOptions.topMargin" only-digits maxlength=3 ng-model="reportRunJson.commonChartOptions.topMargin" style="width:210px"/> + </div> + <div class="fn-ebz-container"> + <label class="fn-ebz-text-label">Bottom Margin</label><BR> + <input type="text" name="reportRunJson.commonChartOptions.bottomMargin" only-digits maxlength=3 ng-model="reportRunJson.commonChartOptions.bottomMargin" style="width:210px"/> + </div> + <div class="fn-ebz-container"> + <label class="fn-ebz-text-label">Left Margin</label><BR> + <input type="text" name="reportRunJson.commonChartOptions.leftMargin" only-digits maxlength=3 ng-model="reportRunJson.commonChartOptions.leftMargin" style="width:210px"/> + </div> + <div class="fn-ebz-container"> + <label class="fn-ebz-text-label">Right Margin</label><BR> + <input type="text" name="reportRunJson.commonChartOptions.rightMargin" only-digits maxlength=3 ng-model="reportRunJson.commonChartOptions.rightMargin" style="width:210px"> + </div><BR> + </div> + </div> + </accordion-group> +</accordion> + <br/><br/> + <a href="javascript:void(0)" att-button btn-type="primary" att-accessibility-click="13,32" ng-click="saveChartData();">Save</a> + <a href="report#/report_run/c_master={{reportRunJson.reportID}}&refresh=Y" att-button btn-type="primary" att-accessibility-click="13,32">Run</a> +</div> + +<div> + <b2b-expanders class="mpc-expanders" is-open="additionalOptionOpen"> + <b2b-expander-heading> + <div class="row"> + <div class="span6"> + <div class="heading-medium b2b-blue" ng-class=" { 'b2b-toggle-header-active': !additionalOptionOpen, 'b2b-toggle-header-inactive': additionalOptionOpen } ">Additional Options</div> + <p class="p-small"> + </p> + </div> + <div style="position: absolute;right: 250px;" class="span1"> + <i class="pull-right b2b-toggle-header-icon" b2b-expander-toggle b2b-accessibility-click="13,32" expand-icon="icon-primary-collapsed" collapse-icon="icon-primary-expanded" tabindex="0" aria-posinset="1" aria-setsize="2"></i> + </div> + </div> + </b2b-expander-heading> + <b2b-expander-body> + <div> + <div id="RangeTable"> + <table> + <thead> + <tr> + <th width="30%">Primary Axis Label</th> + <th width="30%">Secondary Axis Label</th> + <th></th> + </tr> + </thead> + <tbody> + <tr> + <td> + <input type="text" name="primaryAxisLabel" ng-model="reportRunJson.primaryAxisLabel" style="width:200px;"> + </td> + <td> + <input type="text" name="secondaryAxisLabel" ng-model="reportRunJson.secondaryAxisLabel" style="width:200px;"> + </td> + </tr> + </tbody> + </table> + <table> + <thead> + <tr> + <th width="30%">Range Axis Minimum Range</th> + <th width="30%">Maximum Range</th> + <th></th> + </tr> + </thead> + <tbody> + <tr> + <td> + <input type="text" name="minRange" ng-model="reportRunJson.minRange" style="width:200px;"> + </td> + <td> + <input type="text" name="maxRange" ng-model="reportRunJson.maxRange" style="width:200px;"> + </td> + </tr> + </tbody> + </table> + </div> + </div> + </b2b-expander-body> + </b2b-expanders> + + <!-- BAR CHART OPTION SECTION STARTS HERE --> + <b2b-expanders ng-show="reportRunJson.chartType=='BarChart3D'" class="mpc-expanders" is-open="barChartOptionOpen"> + <b2b-expander-heading> + <div class="row"> + <div class="span6"> + <div class="heading-medium b2b-blue" ng-class=" { 'b2b-toggle-header-active': !barChartOptionOpen, 'b2b-toggle-header-inactive': barChartOptionOpen } ">Bar Chart Options</div> + <p class="p-small"> + </p> + </div> + <div style="position: absolute;right: 250px;" class="span1"> + <i class="pull-right b2b-toggle-header-icon" b2b-expander-toggle b2b-accessibility-click="13,32" expand-icon="icon-primary-collapsed" collapse-icon="icon-primary-expanded" tabindex="0" aria-posinset="1" aria-setsize="2"></i> + </div> + </div> + </b2b-expander-heading> + <b2b-expander-body> + <div> + <div id="RangeTable"> + <table> + <thead> + <tr> + <th width="25%">Orientation</th> + <th width="18%">Stacked</th> + <th width="18%">Show Controls</th> + <th width="18%">XAxis Date Type</th> + <th width="21%">Display less XAxis tickers</th> + <th></th> + </tr> + </thead> + <tbody> + <tr> + <td> + <label for="optionsOrientationVertical" class="radio"> + <input type="radio" ng-model="reportRunJson.barChartOptions.verticalOrientation" id="optionsOrientationVertical" name="optionsOrientationVertical" value="true"> + <i class="skin"></i> + <span>Vertical</span> + </label> + <label for="optionsOrientationHorizontal" class="radio"> + <input type="radio" ng-model="reportRunJson.barChartOptions.verticalOrientation" id="optionsOrientationHorizontal" name="optionsOrientationHorizontal" value="false"> + <i class="skin"></i> + <span>Horizontal</span> + </label> + </td> + + <td> + <label for="optionsStackedYes" class="radio"> + <input type="radio" ng-model="reportRunJson.barChartOptions.stackedChart" id="optionsStackedYes" name="optionsStackedYes" value="true"> + <i class="skin"></i> + <span>Yes</span> + </label> + <label for="optionsStackedNo" class="radio"> + <input type="radio" ng-model="reportRunJson.barChartOptions.stackedChart" id="optionsStackedNo" name="optionsStackedNo" value="false"> + <i class="skin"></i> + <span>No</span> + </label> + </td> + <td> + <label for="optionsShowControlYes" class="radio"> + <input type="radio" ng-model="reportRunJson.barChartOptions.displayBarControls" id="optionsShowControlYes" name="optionsShowControlYes" value="true"> + <i class="skin"></i> + <span>Yes</span> + </label> + <label for="optionsShowControlNo" class="radio"> + <input type="radio" ng-model="reportRunJson.barChartOptions.displayBarControls" id="optionsShowControlNo" name="optionsShowControlNo" value="false"> + <i class="skin"></i> + <span>No</span> + </label> + </td> + <td> + <label for="optionsXAxisDateTypeYes" class="radio"> + <input type="radio" ng-model="reportRunJson.barChartOptions.xAxisDateType" id="optionsXAxisDateTypeYes" name="optionsXAxisDateTypeYes" value="true"> + <i class="skin"></i> + <span>Yes</span> + </label> + <label for="optionsXAxisDateTypeNo" class="radio"> + <input type="radio" ng-model="reportRunJson.barChartOptions.xAxisDateType" id="optionsXAxisDateTypeNo" name="optionsXAxisDateTypeNo" value="false"> + <i class="skin"></i> + <span>No</span> + </label> + </td> + <td> + <label for="optionsMinimizeXAxisTickersYes" class="radio"> + <input type="radio" ng-model="reportRunJson.barChartOptions.minimizeXAxisTickers" id="optionsMinimizeXAxisTickersYes" name="optionsMinimizeXAxisTickersYes" value="true"> + <i class="skin"></i> + <span>Yes</span> + </label> + <label for="optionsMinimizeXAxisTickersNo" class="radio"> + <input type="radio" ng-model="reportRunJson.barChartOptions.minimizeXAxisTickers" id="optionsMinimizeXAxisTickersNo" name="optionsMinimizeXAxisTickersNo" value="false"> + <i class="skin"></i> + <span>No</span> + </label> + </td> + </tr> + </tbody> + </table> + <table> + <thead> + <tr> + <th width="25%">Is Time Axis?</th> + <th width="25%">Log Scale (Y Axis)</th> + <th></th> + </tr> + </thead> + <tbody> + <tr> + <td> + <label for="optionsTimeAxisYes" class="radio"> + <input type="radio" ng-model="reportRunJson.barChartOptions.timeAxis" id="optionsTimeAxisYes" name="optionsTimeAxisYes" value="true"> + <i class="skin"></i> + <span>Yes</span> + </label> + <label for="optionsTimeAxisNo" class="radio"> + <input type="radio" ng-model="reportRunJson.barChartOptions.timeAxis" id="optionsTimeAxisNo" name="optionsTimeAxisNo" value="false"> + <i class="skin"></i> + <span>No</span> + </label> + </td> + <td> + <label for="logScaleYAxisCheckBox" class="checkbox"> + <input id="logScaleYAxisCheckBox" type="checkbox" ng-model="reportRunJson.barChartOptions.yAxisLogScale" /><i class="skin"></i><span></span> + </label> + </td> + </tr> + </tbody> + </table> + </div> + </div> + </b2b-expander-body> + </b2b-expanders> + <!-- BAR CHART OPTION SECTION ENDS HERE --> + + <!-- TIME SERIES CHART OPTION SECTION STARTS HERE --> + <b2b-expanders ng-show="reportRunJson.chartType=='TimeSeriesChart'" class="mpc-expanders" is-open="timeSeriesChartOptionOpen"> + <b2b-expander-heading> + <div class="row"> + <div class="span6"> + <div class="heading-medium b2b-blue" ng-class=" { 'b2b-toggle-header-active': !timeSeriesChartOptionOpen, 'b2b-toggle-header-inactive': timeSeriesChartOptionOpen } ">Time Series Chart Options</div> + <p class="p-small"> + </p> + </div> + <div style="position: absolute;right: 250px;" class="span1"> + <i class="pull-right b2b-toggle-header-icon" b2b-expander-toggle b2b-accessibility-click="13,32" expand-icon="icon-primary-collapsed" collapse-icon="icon-primary-expanded" tabindex="0" aria-posinset="1" aria-setsize="2"></i> + </div> + </div> + </b2b-expander-heading> + <b2b-expander-body> + <div> + <div> + <table> + <thead> + <tr> + <th width="20%">Render as</th> + <th width="20%">X Axis Label</th> + <th width="20%">X Axis Tickers</th> + <th width="20%">Is Time Axis?</th> + <th width="20%">Multi Series</th> + </tr> + </thead> + <tbody> + <tr> + <td> + <label for="optionsLineChartRendererLine" class="radio"> + <input type="radio" ng-model="reportRunJson.timeSeriesChartOptions.lineChartRenderer" id="optionsLineChartRendererLine" name="optionsLineChartRendererLine" value="line"> + <i class="skin"></i> + <span>Line</span> + </label> + <label for="optionsLineChartRendererArea" class="radio"> + <input type="radio" ng-model="reportRunJson.timeSeriesChartOptions.lineChartRenderer" id="optionsLineChartRendererArea" name="optionsLineChartRendererArea" value="area"> + <i class="skin"></i> + <span>Area</span> + </label> + </td> + <td> + <label for="xAxisLabelCheckBox" class="checkbox"> + <input id="xAxisLabelCheckBox" type="checkbox" ng-model="reportRunJson.timeSeriesChartOptions.showXAxisLabel" /><i class="skin"></i><span></span> + </label> + </td> + <td> + <label for="addXAxisTickerCheckBox" class="checkbox"> + <input id="addXAxisTickerCheckBox" type="checkbox" ng-model="reportRunJson.timeSeriesChartOptions.addXAxisTicker" /><i class="skin"></i><span></span> + </label> + </td> + <td> + <label for="isTimeAxisCheckBox" class="checkbox"> + <input id="isTimeAxisCheckBox" type="checkbox" ng-model="reportRunJson.timeSeriesChartOptions.nonTimeAxis" /><i class="skin"></i><span></span> + </label> + </td> + <td> + <label for="multiSeriesCheckBox" class="checkbox"> + <input id="multiSeriesCheckBox" type="checkbox" ng-model="reportRunJson.timeSeriesChartOptions.multiSeries" /><i class="skin"></i><span></span> + </label> + </td> + </tr> + </tbody> + </table> + </div> + </div> + </b2b-expander-body> + </b2b-expanders> + <!-- TIME SERIES CHART OPTION SECTION ENDS HERE --> + + <b2b-expanders class="mpc-expanders" is-open="commonOptionOpen"> + <b2b-expander-heading> + <div class="row"> + <div class="span6"> + <div class="heading-medium b2b-blue" ng-class=" { 'b2b-toggle-header-active': !commonOptionOpen, 'b2b-toggle-header-inactive': commonOptionOpen } ">Common Options</div> + <p class="p-small"> + </p> + </div> + <div style="position: absolute;right: 250px;" class="span1"> + <i class="pull-right b2b-toggle-header-icon" b2b-expander-toggle b2b-accessibility-click="13,32" expand-icon="icon-primary-collapsed" collapse-icon="icon-primary-expanded" tabindex="0" aria-posinset="1" aria-setsize="2"></i> + </div> + </div> + </b2b-expander-heading> + <b2b-expander-body> + <div > + <div> + <div style="border:2px;border-style:solid;border-color:#808080;margin-bottom:9px"> + <div style="margin-left:0px"> + <table> + <thead> + <tr> + <th>Legend Angle</th> + <th>Legend Position</th> + </tr> + </thead> + <tbody> + <tr> + <fieldset role="radiogroup" radio-group-accessibility> + <td> + <label for="optionsRadios1" class="radio"> + <input type="radio" ng-model="reportRunJson.commonChartOptions.legendLabelAngle" id="optionsRadios1" name="optionsRadio1" value="up45"> + <i class="skin"></i> + <span>up 45°</span> + </label> + <label for="optionsRadios2" class="radio"> + <input type="radio" ng-model="reportRunJson.commonChartOptions.legendLabelAngle" id="optionsRadios2" name="optionsRadio2" value="up90"> + <i class="skin"></i> + <span>up 90°</span> + </label> + <label for="optionsRadios3" class="radio"> + <input type="radio" ng-model="reportRunJson.commonChartOptions.legendLabelAngle" id="optionsRadios3" name="optionsRadio3" value="down45"> + <i class="skin"></i> + <span>down 45°</span> + </label> + <label for="optionsRadios4444" class="radio"> + <input type="radio" ng-model="reportRunJson.commonChartOptions.legendLabelAngle" id="optionsRadios4444" name="optionsRadio44" value="down90"> + <i class="skin"></i> + <span>down 90°</span> + </label> + <label for="optionsRadios5555" class="radio"> + <input type="radio" ng-model="reportRunJson.commonChartOptions.legendLabelAngle" id="optionsRadios5555" name="optionsRadio55" value="standard"> + <i class="skin"></i> + <span>Standard</span> + </label> + </td> + </fieldset> + + <fieldset role="radiogroup" radio-group-accessibility> + <td> + <label for="optionsRadiosTop" class="radio"> + <input type="radio" ng-model="reportRunJson.commonChartOptions.legendPosition" id="optionsRadiosTop" name="optionsRadioTop" value="top"> + <i class="skin"></i> + <span>Top</span> + </label> + <label for="optionsRadiosBottom" class="radio"> + <input type="radio" ng-model="reportRunJson.commonChartOptions.legendPosition" id="optionsRadiosBottom" name="optionsRadioBottom" value="bottom"> + <i class="skin"></i> + <span>Bottom</span> + </label> + </td> + </fieldset> + </tr> + </tbody> + </table> + + + <table> + <thead> + <tr> + <th width="20%">Legend</th> + <th width="20%">Animation</th> + <th></th> + </tr> + </thead> + <tbody> + <tr> + <fieldset role="radiogroup" radio-group-accessibility> + <td> + <label for="optionsRadiosHideLegendFalse" class="radio"> + <input type="radio" ng-model="reportRunJson.commonChartOptions.hideLegend" id="optionsRadiosHideLegendFalse" name="optionsRadiosHideLegendFalse" value="false"> + <i class="skin"></i> + <span>Yes</span> + </label> + <label for="optionsRadiosHideLegendTrue" class="radio"> + <input type="radio" ng-model="reportRunJson.commonChartOptions.hideLegend" id="optionsRadiosHideLegendTrue" name="optionsRadiosHideLegendTrue" value="true"> + <i class="skin"></i> + <span>No</span> + </label> + </td> + </fieldset> + + <fieldset role="radiogroup" radio-group-accessibility> + <td> + <label for="optionsRadiosAnimateChartTrue" class="radio"> + <input type="radio" ng-model="reportRunJson.commonChartOptions.animateAnimatedChart" id="optionsRadiosAnimateChartTrue" name="optionsRadiosAnimateChartTrue" value="true"> + <i class="skin"></i> + <span>Yes</span> + </label> + <label for="optionsRadiosAnimateChartFalse" class="radio"> + <input type="radio" ng-model="reportRunJson.commonChartOptions.animateAnimatedChart" id="optionsRadiosAnimateChartFalse" name="optionsRadiosAnimateChartFalse" value="false"> + <i class="skin"></i> + <span>No</span> + </label> + </td> + </fieldset> + <td> + </td> + </tr> + </tbody> + </table> + + <table> + <thead> + <tr> + <th width="25%">Top Margin</th> + <th width="25%">Bottom Margin</th> + <th width="25%">Left Margin</th> + <th width="25%">Right Margin</th> + </tr> + </thead> + <tbody> + <tr> + <td> + <input type="text" name="topMargin" ng-model="reportRunJson.commonChartOptions.topMargin" style="width:200px;"> + </td> + <td> + <input type="text" name="bottomMargin" ng-model="reportRunJson.commonChartOptions.bottomMargin" style="width:200px;"> + </td> + <td> + <input type="text" name="leftMargin" ng-model="reportRunJson.commonChartOptions.leftMargin" style="width:200px;"> + </td> + <td> + <input type="text" name="rightMargin" ng-model="reportRunJson.commonChartOptions.rightMargin" style="width:200px;"> + </td> + </tr> + </tbody> + </table> + </div> + </div> + </div> + </b2b-expander-body> + </b2b-expanders> + +</div> +</div> + <div> + <button type="submit" style="width: 90px; height:35px;margin-top:20px; margin-left:5px;" class="btn btn-alt btn-small" ng-click="saveChartData();">Save</button> + <a href="report#/report_run/c_master={{reportRunJson.reportID}}&refresh=Y"> + <button type="submit" style="width: 90px; height:35px;margin-top:20px; margin-left:5px;" class="btn btn-alt btn-small">Run</button> + </a> + </div> +</div> diff --git a/usecaseui-common/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-reports/report-import.html b/usecaseui-common/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-reports/report-import.html new file mode 100644 index 00000000..cd64b09f --- /dev/null +++ b/usecaseui-common/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-reports/report-import.html @@ -0,0 +1,14 @@ +<div id="page-content"> + +<h1 class="heading-page">Report Import</h1> + + <h2 id="myModalLabel" modal-title="">Import XML</h2> + +<div style="margin-top:5px; color:red;" ng-if="errorMessage&&errorMessage.length>0"> + <h2 id="myModalLabel" modal-title="" style="color:red;">{{errorMessage}}</h2> +</div> + <textarea b2b-reset b2b-dragon-input b2b-reset-textarea ng-model="xmlContent" class="span12" id="textareaXmlContent" style="height:480px;margin-top:5px;"></textarea> + + <button style="margin-top:5px;" type="submit" class="btn btn-alt btn-small" ng-click="importXML();">Import</button> + +</div> diff --git a/usecaseui-common/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-reports/report-run.html b/usecaseui-common/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-reports/report-run.html new file mode 100644 index 00000000..aaa1cac0 --- /dev/null +++ b/usecaseui-common/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-reports/report-run.html @@ -0,0 +1,96 @@ +<style> +table tbody td { + border: none; +} + +table tbody tr { + border: none; +} + +table tbody{ + border: none; +} + +table { + border: none; +} + +.grid { + width: 100%; + height: 400; +} +.no-rows { + position: absolute; + top: 0; + bottom: 0; + width: 100%; + background: rgba(0, 0, 0, 0.4); +} + +.no-rows .msg { + opacity: 1; + position: absolute; + top: 20%; + left: 20%; + width: 60%; + height: 50%; + line-height: 200%; + background-color: #eee; + border-radius: 4px; + border: 1px solid #555; + text-align: center; + font-size: 24px; + display: table; +} + +.no-rows .msg span { + display: table-cell; + vertical-align: middle; +} +.grid .ui-grid-header-cell { + text-align:center; +} +body { + font-size:13px; +} +</style> + +<div id="page-content"> + <div style="width:100%; overflow:hidden;"> + <div style="float:left;"><h1 class="heading-page">{{reportData.reportHeading}}</h1></div> + <div style="float:left; margin-left: 10px; margin-right: 10px;"> + <a style="font-size:180%;" ng-href="report#/report_wizard/{{reportData.reportID}}" class="icon-misc-pen" ng-show="reportData.allowEdit"></a> + </div> + <div style="float:left; margin-left: 5px; margin-right: 10px;"> + <a style="font-size:180%;" ng-href="report#/report_chart/{{reportData.reportID}}" class="icon-misc-piechart" ng-show="reportData.allowEdit"></a> + </div> + + <div ng-show ="reportData.allowEdit && showFormFields" style="margin-top:5px;"> + <label for="checkbox1" class="checkbox"> + <input id="checkbox1" type="checkbox" ng-model="showFormFieldId.value" /><i class="skin"></i><span>show IDs</span> + </label> + </div> + </div> + <h3 class="heading3">{{reportData.reportSubTitle}} </h3> + + <div ng-show="isInProgress" style="font-size:50px;color:#2ca02c">Loading...</div> + + <form ng-show="showFormFields" class="row section-row" style="margin: 10px"> + <form-builder ng-form-fields="reportData.formFieldList" ng-show-field-id="showFormFieldId.value" ng-num-form-cols="reportData.numFormCols" ng-model="formFieldSelectedValues" ng-trigger-method="triggerOtherFormFields"></form-builder> + <br><br> + <button type="submit" style="width: 90px; height:35px;margin-top:20px; margin-left:5px;" class="btn btn-alt btn-small" ng-click="runReport()">Run</button> + </form> + <button type="submit" ng-show="showBackButton" style="width: 90px; height:35px;margin-top:20px; margin-left:5px;" class="btn btn-alt btn-small" ng-click="backToParentReport()">Back</button> + <iframe id="chartiframe" ng-show="showChart" width="100%" height="550px" style="border: none" scrolling="no"></iframe> + <div id="errorDiv"></div> + <div ng-if="showGrid"> + <div id="grid1" ui-grid="gridOptions" ui-grid-pagination ui-grid-pinning ui-grid-resize-columns class="grid" style="height: {{gridHeight}}"> + <div class="no-rows" ng-show="!gridOptions.data.length"> + <div class="msg"> + <span>{{reportData.message}}</span> + </div> + </div> + </div> + </div> + <!-- <a type="submit" ng-show="showBackButton" style="margin: 10px" ng-href="report.htm#/report_run/{{parentReportUrlParams}}" att-button btn-type="primary" size="small" title='Back'>Back</a> --> +</div> diff --git a/usecaseui-common/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-reports/report-search.html b/usecaseui-common/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-reports/report-search.html new file mode 100644 index 00000000..7524acca --- /dev/null +++ b/usecaseui-common/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-reports/report-search.html @@ -0,0 +1,54 @@ +<div id="page-content" style="margin-right:-230px;"> +<style> +.grid { + width: 100%; + height: 400px; +} +.grid .ui-grid-header-cell { + text-align:center; +} +.icon-add-widget:before { + content: "\e717"; +} +.ui-grid-icon-angle-down { + margin-top: 5px; +} +body { + font-size:13px; +} +</style> +<h1 class="heading-page">Report search</h1> +<br> +<div > +<label style="float:left;margin-top:10px; margin-right: 5px;">Report Id:</label> + +<div class="form-row" style="float:left; width:160px;"> + <select id="dropdown1" name="dropdown1" b2b-dropdown placeholder-text="Select" ng-model="operatorRepId.index"> + <option b2b-dropdown-list option-repeat="d in operatorsRepId" value="{{d.index}}">{{d.text}}</option> + </select> +</div> + +<div class="form-field form-field__glued pull-left size-onefifth" style="float:left; width:160px;margin-right: 40px;"> + <input ng-model="reportId" type="text" placeholder="Search value?" style="margin-top:5px;width:160px;"> +</div> + +<label class="pull-left" style="float:left;margin-top: 10px;margin-right: 5px;">Report Name:</label> + +<div class="form-row" style="float:left; width:160px;"> + <select id="dropdown2" name="dropdown2" b2b-dropdown placeholder-text="Select" ng-model="operatorRepName.index"> + <option b2b-dropdown-list option-repeat="e in operatorsRepName" value="{{e.index}}">{{e.text}}</option> + </select> +</div> + +<div class="form-field form-field__glued pull-left size-onefifth" style="width:13% !important;"> + <input ng-model="reportName" type="text" placeholder="Search value?" style="margin-top:5px;width:160px;"> +</div> + +<div> + <button style="margin-left:50px;margin-top:4px;" type="submit" class="btn btn-alt btn-small" ng-click="runReport();">Submit</button> +</div> +</div> +<br> + +<div id="grid1" ui-grid="gridOptions" ui-grid-pagination class="grid"> +</div>
\ No newline at end of file diff --git a/usecaseui-common/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-reports/wz_steps/json/step1.json b/usecaseui-common/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-reports/wz_steps/json/step1.json new file mode 100644 index 00000000..66562d4b --- /dev/null +++ b/usecaseui-common/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-reports/wz_steps/json/step1.json @@ -0,0 +1,218 @@ +{ + "step" : "1", + "content": { + "title": "Step 1 : Report Definition", + "sections": [ + { + "title": "", + "elements": [ + { + "input": "hidden", + "name": "proj_id", + "displayName": "Project Id", + "defaultValue": "" + }, + { + "input": "text", + "name": "reportName", + "displayName": "Report Name *:", + "defaultValue": "" + }, + { + "input": "textarea", + "name": "reportDescr", + "displayName": "Report Description:", + "style":"width:300px;height:80px;" + }, + { + "input": "select", + "name": "reportType", + "ngModelName":"selectedReportType.value", + "displayName": "Report Type: ", + "defaultValue": "no", + "action": "", + "action_img": "", + "optionsName":"reportTypes", + "options":[{"value":"linear", "text":"Linear"}] + }, + { + "input": "select", + "name": "dataSource", + "ngModelName":"selectedDataSource.value", + "displayName": "Data Source:", + "defaultValue": "no", + "action": "", + "action_img": "", + "optionsName":"DataSources", + "options":[{"value":"local", "text":"Local"}] + }, + { + "input": "textarea", + "name": "formHelpText", + "displayName": "Form Help Text:", + "style":"width:300px;height:80px;" + }, + { + "input": "select", + "name": "pageSize", + "ngModelName":"selectedPageSize.value", + "displayName": "Page Size:", + "defaultValue": "no", + "action": "", + "action_img": "", + "optionsName":"PageSizes", + "options":[ {"value":"10", "text":"10"}, + {"value":"20", "text":"20"}, + {"value":"50", "text":"50"}, + {"value":"100", "text":"100"}, + {"value":"500", "text":"500"} + ] + }, + { + "input": "checkboxGroup", + "name":"displayArea", + "displayName": "Display Area:", + "defaultValue": "no", + "action": "", + "action_img": "", + "checkboxes":[{"value":"homeSelected.value", "text":"HOME"}, + {"value":"customerSelected.value", "text":"CUSTOMER"}, + {"value":"reportsSelected.value", "text":"REPORTS"} + ] + }, + + { + "input": "checkboxGroup", + "name": "hideFormFieldsAfterRun", + "displayName": "Hide Form Fields After Run:", + "defaultValue": "no", + "action": "", + "action_img": "", + "optionsName":"HideFormFieldsAfterRun", + "checkboxes":[{"value":"hideFormFieldsAfterRunSelected.value", "text":""} + ] + }, + { + "input": "select", + "name": "maxRowsInExcelCSVDownload", + "ngModelName":"selectedMaxRowsInExcelCSVDownload.value", + "displayName": "Max Rows in Excel/CSV Download:", + "defaultValue": "no", + "action": "", + "action_img": "", + "optionsName":"PageSizes", + "options":[{"value":"500","text":"500"},{"value":"1000","text":"1000"},{"value":"2000","text":"2000"},{"value":"3000","text":"3000"},{"value":"4000","text":"4000"},{"value":"5000","text":"5000"},{"value":"10000","text":"10000"},{"value":"15000","text":"15000"},{"value":"20000","text":"20000"},{"value":"25000","text":"25000"},{"value":"30000","text":"30000"},{"value":"35000","text":"35000"},{"value":"40000","text":"40000"},{"value":"45000","text":"45000"},{"value":"50000","text":"50000"},{"value":"65000","text":"65000"}] + }, + { + "input": "select", + "name": "frozenColumns", + "ngModelName":"selectedFrozenColumns.value", + "displayName": "Columns to be Frozen:", + "defaultValue": "", + "action": "", + "action_img": "", + "optionsName":"frozenColumnsOptions", + "options":[{"value":"0","text":"0"},{"value":"1","text":"1"},{"value":"2","text":"2"},{"value":"3","text":"3"},{"value":"4","text":"4"}] + }, + { + "input": "select", + "name": "dataGridAlign", + "ngModelName":"selectedDataGridAlign.value", + "displayName": "Data Grid Align:", + "defaultValue": "", + "action": "", + "action_img": "", + "optionsName":"selectedDataGridAlignOptions", + "options":[{"value":"left","text":"Left"},{"value":"right","text":"Right"},{"value":"center","text":"Center"}] + }, + { + "input": "textarea", + "name": "emptyMessage", + "displayName": "Empty Message:", + "style":"width:300px;height:80px;" + }, + { + "input": "select", + "name": "dataContainerHeight", + "ngModelName":"selectedDataContainerHeight.value", + "displayName": "Height of the Data Container:", + "defaultValue": "", + "action": "", + "action_img": "", + "optionsName":"dataContainerHeightOptions", + "options":[{"value":"200","text":"200%"},{"value":"190","text":"190%"},{"value":"180","text":"180%"},{"value":"170","text":"170%"},{"value":"160","text":"160%"},{"value":"150","text":"150%"},{"value":"140","text":"140%"},{"value":"130","text":"130%"},{"value":"120","text":"120%"},{"value":"110","text":"110%"},{"value":"100","text":"100%"},{"value":"90","text":"90%"},{"value":"80","text":"80%"},{"value":"70","text":"70%"},{"value":"60","text":"60%"},{"value":"50","text":"50%"},{"value":"40","text":"40%"},{"value":"30","text":"30%"},{"value":"20","text":"20%"},{"value":"10","text":"10%"}] + }, + { + "input": "select", + "name": "dataContainerWidth", + "ngModelName":"selectedDataContainerWidth.value", + "displayName": "Width of the Data Container:", + "defaultValue": "", + "action": "", + "action_img": "", + "optionsName":"dataContainerWidthOptions", + "options":[{"value":"200","text":"200%"},{"value":"190","text":"190%"},{"value":"180","text":"180%"},{"value":"170","text":"170%"},{"value":"160","text":"160%"},{"value":"150","text":"150%"},{"value":"140","text":"140%"},{"value":"130","text":"130%"},{"value":"120","text":"120%"},{"value":"110","text":"110%"},{"value":"100","text":"100%"},{"value":"90","text":"90%"},{"value":"80","text":"80%"},{"value":"70","text":"70%"},{"value":"60","text":"60%"},{"value":"50","text":"50%"},{"value":"40","text":"40%"},{"value":"30","text":"30%"},{"value":"20","text":"20%"},{"value":"10","text":"10%"}] + }, + { + "input": "checkboxGroup", + "name": "displayOptions", + "displayName": "Display Options:", + "defaultValue": "no", + "action": "", + "action_img": "", + "checkboxes":[{"value":"hideFormFieldsSelected.value", "text":"Hide Form Fields"}, + {"value":"hideChartSelected.value", "text":"Hide Chart"}, + {"value":"hideReportDataSelected.value", "text":"Hide Report Data"}, + {"value":"hideExcelSelected.value", "text":"Hide Excel"}, + {"value":"hidePdfSelected.value", "text":"Hide PDF"} + ] + }, + { + "input": "checkboxGroup", + "name":"runtimeColSort", + "displayName": "Disable column sort at runtime:", + "defaultValue": "no", + "action": "", + "action_img": "", + "checkboxes":[{"value":"runtimeColSortDisabled.value", "text":""} + ] + }, + { + "input": "select", + "name": "runtimeFormNumberColumns", + "ngModelName":"selectedNumFormCols.value", + "displayName": "Run-time Form Number Columns:", + "defaultValue": "no", + "action": "", + "action_img": "", + "optionsName":"runtimeFormNumberColumns", + "options":[ {"value":"1", "text":"1"}, + {"value":"2", "text":"2"}, + {"value":"3", "text":"3"}, + {"value":"3", "text":"4"} + ] + }, + { + "input": "text", + "name": "reportTitle", + "displayName": "Report Title:", + "defaultValue": "" + }, + { + "input": "text", + "name": "reportSubTitle", + "displayName": "Report Subtitle:", + "defaultValue": "" + } + ] + + }, + { + "title": "finalButton", + "submitAction" : "", + "next":"Microservice Config", + "previous":"none" + } + ] + } +} diff --git a/usecaseui-common/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-reports/wz_steps/json/step2.json b/usecaseui-common/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-reports/wz_steps/json/step2.json new file mode 100644 index 00000000..ca01985d --- /dev/null +++ b/usecaseui-common/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-reports/wz_steps/json/step2.json @@ -0,0 +1,34 @@ +{ + "step" : "2", + "content": { + "title": "Step 2 : Report SQL", + "sections": [ + { + "title": "", + "elements": [ + { + "input": "textarea", + "spanOverTwoColumns":"true", + "name": "sqlScript", + "displayName": "SQL script:", + "defaultValue":"SELECT ", + "style":"width: 600px; height: 400px" + } + ], + "buttons": [ + { + "text":"Validate/Test Run SQL", + "value":"next", + "ngFunction":"testRunSql()" + }] + + }, + { + "title": "finalButton", + "submitAction" : "", + "next":"Microservice Config", + "previous":"none" + } + ] + } +} diff --git a/usecaseui-common/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-reports/wz_steps/json/step3.json b/usecaseui-common/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-reports/wz_steps/json/step3.json new file mode 100644 index 00000000..9ea9b6f4 --- /dev/null +++ b/usecaseui-common/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-reports/wz_steps/json/step3.json @@ -0,0 +1,19 @@ +{ + "step" : "3", + "content": { + "title": "", + "sections": [ + { + "title": "", + "elements": [ + ] + }, + { + "title": "finalButton", + "submitAction" : "", + "next":"Microservice Config", + "previous":"none" + } + ] + } +} diff --git a/usecaseui-common/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-reports/wz_steps/json/step4.json b/usecaseui-common/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-reports/wz_steps/json/step4.json new file mode 100644 index 00000000..971a0cf3 --- /dev/null +++ b/usecaseui-common/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-reports/wz_steps/json/step4.json @@ -0,0 +1,25 @@ +{ + "step" : "4", + "content": { + "title": "", + "sections": [ + { + "title": "", + "elements": [ + ], + "buttons": [ + { + "text":"Add", + "value":"add", + "ngFunction":"addNewFormField()" + }] + }, + { + "title": "finalButton", + "submitAction" : "", + "next":"Microservice Config", + "previous":"none" + } + ] + } +} diff --git a/usecaseui-common/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-reports/wz_steps/json/step5.json b/usecaseui-common/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-reports/wz_steps/json/step5.json new file mode 100644 index 00000000..cc10114d --- /dev/null +++ b/usecaseui-common/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-reports/wz_steps/json/step5.json @@ -0,0 +1,19 @@ +{ + "step" : "5", + "content": { + "title": "", + "sections": [ + { + "title": "", + "elements": [ + ] + }, + { + "title": "finalButton", + "submitAction" : "", + "next":"Microservice Config", + "previous":"none" + } + ] + } +} diff --git a/usecaseui-common/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-reports/wz_steps/json/step6.json b/usecaseui-common/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-reports/wz_steps/json/step6.json new file mode 100644 index 00000000..e3b1ccce --- /dev/null +++ b/usecaseui-common/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-reports/wz_steps/json/step6.json @@ -0,0 +1,28 @@ +{ + "step" : "6", + "last_step": true, + "hideSaveButton":true, + "hideBackButton":true, + "content": { + "title": "Step 6 : Run", + "sections": [ + { + "elements": [ + ], + "buttons": [ + { + "text":"Run Report", + "value":"next", + "ngFunction":"RunCurrentReport()" + }] + }, + { + "title": "finalButton", + "submitAction" : "", + "next":"Microservice Config", + "previous":"none" + } + ] + + } +} diff --git a/usecaseui-common/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-reports/wz_steps/report-step.html b/usecaseui-common/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-reports/wz_steps/report-step.html new file mode 100644 index 00000000..9b498870 --- /dev/null +++ b/usecaseui-common/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-reports/wz_steps/report-step.html @@ -0,0 +1,243 @@ +<!-- <link rel="stylesheet" type="text/css" href="static/fusion/raptor/css/raptor.css"> --> +<style> +#stepView table tbody td { + border: none; +} + +#stepView table tbody tr { + border: none; +} + + +.noTableBorder table tbody td { + border: none; +} +.noTableBorder table tbody tr { + border: none; +} +.selectWrap { + width: 300px; +} +.tdLeftColumn { + text-align: right; + vertical-align:middle; +} + +.tabs.tabs-justified > li.active, .tabs.promo-tabs > li.active { +z-index:0; +} +</style> + +<div id="page-content"> +<h1 class="heading-page">Report Wizard</h1> + + +<!-- <h1 id="tabs---promo">Tabs - Promo</h1> +<button class="btn btn-secondary btn-small" ng-click="gTabs[3].disabled = !gTabs[3].disabled">{{gTabs[3].disabled?'Enable':'Disable'}}</button> - Toggle 4th (Features) Tab +<br><br> --> + <b2b-tabset tab-id-selected="activeTabsId"> + <b2b-tab ng-repeat="tab in gTabs" tab-item="tab" + id="{{tab.uniqueId}}" aria-controls="{{tab.tabPanelId}}" + ng-disabled="tab.disabled"> + {{tab.title}} + </b2b-tab> + </b2b-tabset> +<br><br> +<div ng-show="showLoader" class="span loader-container"> + <i class="icon-primary-spinner" role="img" + aria-label="Please wait while we load your content"></i> +</div> + +<div ng-hide="showLoader"> + +<!-- <select ng-model="prj" + ng-options="item.projectName for item in allProjects track by item.id" data-ng-init="getAllProjects()" + ng-change="selectAction();"> + <option value="">Select project</option> +</select> + +<a ng-click="createAction()" class="pointer">Create Project</a> --> + +<input type="hidden" name="project_id" ng-model="project_id" value = ""/> + +<div id="stepViewColumn" ng-show = "isColumnStep"> + <h1>Step 3 : Columns</h1> + <table class="striped"> + <thead> + <tr> + <th>No</th> + <th>Column Name</th> + <th>ID</th> + <th>Edit</th> + </tr> + </thead> + <tbody> + <tr ng-repeat = "rowData in colTableRowData"> + <td>{{$index+1}}</td> + <td>{{rowData.name}}</td> + <td>{{rowData.id}}</td> + <td><a ng-click="openColumnPopup(rowData)" class="icon-misc-pen"></a></td> + </tr> + </tbody> + </table> +</div> + +<div id="stepViewFormField" ng-show = "isFormFieldStep"> + <h1>Step 4 : Form Fields</h1> + <table class="striped"> + <thead> + <tr> + <th>No</th> + <th>Field Name</th> + <th>Edit</th> + <th>Delete</th> + </tr> + </thead> + <tbody> + <tr ng-repeat = "rowData in formFieldData"> + <td>{{$index+1}}</td> + <td>{{rowData.name}}[{{rowData.id}}]</td> + <td><a ng-click="openFormFieldPopup(rowData)" class="icon-misc-pen"></a></td> + <td><a ng-click="deleteFormField(rowData)" class="icon-misc-trash"></a></td> + </tr> + </tbody> + </table> +</div> + +<div id="stepViewSecurity" ng-show = "isSecurityStep"> + <h1>Step 5 : Report Security</h1> + <div class="noTableBorder"> + <table class="striped"> + <tbody> + <tr> + <td>Created By: {{reportSecurityInfo.createdUser}}</td> + <td>Created Date: {{reportSecurityInfo.createdDate}}</td> + <tr/> + <tr> + <td>Last Updated By: {{reportSecurityInfo.updateUser}}</td> + <td>Last Updated: {{reportSecurityInfo.updatedDate}}</td> + <tr/> + <tr> + <td> + Report Owner: + + <select name="reportOwner" b2b-dropdown ng-model="reportOwnerId.id"> + <option b2b-dropdown-list option-repeat="d in reportOwnerList" value="{{d.id}}">{{d.name}}</option> + </select> + + </td> + <td> + Public? (All users can run the report): + <select name="isPublic" b2b-dropdown ng-model="reportSecurityInfo.isPublic"> + <option b2b-dropdown-list option-repeat="d in isPublicOptionList" value="{{d.value}}">{{d.text}}</option> + </select> + </td> + <tr/> + </tbody> + </table> + </div> + + <div style="margin-top:20px;"> + <h1 style="margin-bottom:5px;">Report Users</h1> + <table class="striped"> + <thead> + <tr> + <th width="10%">No</th> + <th width="45%">User Name</th> + <th width="15%">Run Access</th> + <th width="15%">Edit Access</th> + <th width="15%">Remove</th> + <tr/> + </thead> + <tbody> + <tr ng-repeat = "reportUser in reportSecurityUsers"> + <td>{{$index+1}}</td> + <td>{{reportUser.name}}</td> + <td> + <label for="switch{{$index+1}}runAccess" class="btn-switch-label"> + <input type="checkbox" role="switch" id="switch{{$index+1}}runAccess" b2b-switches ng-model=true ng-disabled=true aria-disabled=true aria-label=""> + </label> + </td> + <td> + <label for="switch{{$index+1}}" class="btn-switch-label"> + <input type="checkbox" role="switch" id="switch{{$index+1}}" b2b-switches ng-model="reportUser.accessAllowed" ng-click="toggleUserEditAccessActive(reportUser)" ng-disabled=false aria-disabled=false aria-label=""> + </label> + </td> + <td> + <a class="icon-misc-trash" style="font-size: 22px;" ng-click="removeReportSecurityUser(reportUser)"> </a> + </td> + </tr> + <tr> + <td colspan="2"> + Grant Access To: + </td> + + <td colspan="2"> + <select name="reportUser" b2b-dropdown ng-model="addReportUserId.id" placeholder-text="Select a User"> + <option b2b-dropdown-list option-repeat="d in reportOwnerList" value="{{d.id}}">{{d.name}}</option> + </select> + </td> + <td> + <button class="btn btn-alt btn-small" type="button" ng-click="addReportSecurityUser(addReportUserId.id)">Add</button> + </td> + </tr> + + </tbody> + </table> + </div> + + <div style="margin-top:20px;"> + <h1>Report Roles</h1> + <table class="striped"> + <thead> + <tr> + <th width="10%">No</th> + <th width="45%">Role Name</th> + <th width="15%">Run Access</th> + <th width="15%">Edit Access</th> + <th width="15%">Remove</th> + <tr/> + </thead> + <tbody> + <tr ng-repeat = "reportRole in reportSecurityRoles"> + <td>{{$index+1}}</td> + <td>{{reportRole.name}}</td> + <td> + <label for="switch{{$index+1}}RoleRunAccess" class="btn-switch-label"> + <input type="checkbox" role="switch" id="switch{{$index+1}}RoleRunAccess" b2b-switches ng-model=true ng-disabled=true aria-disabled=true aria-label=""> + </label> + </td> + <td> + <label for="switch{{$index+1}}RoleEditAccess" class="btn-switch-label"> + <input type="checkbox" role="switch" id="switch{{$index+1}}RoleEditAccess" b2b-switches ng-model="reportRole.accessAllowed" ng-click="toggleRoleEditAccessActive(reportRole)" ng-disabled=false aria-disabled=false aria-label=""> + </label> + </td> + <td> + <a class="icon-misc-trash" ng-click="removeReportSecurityRole(reportRole)" style="font-size: 22px;"> </a> + + </td> + </tr> + <tr> + <td colspan="2"> + Grant Access To: + </td> + <td colspan="2"> + <select name="reportOwner" b2b-dropdown ng-model="addReportRoleId.id" placeholder-text="Select a Role"> + <option b2b-dropdown-list option-repeat="d in reportRoleList" value="{{d.id}}">{{d.name}}</option> + </select> + </td> + <td> + <button class="btn btn-alt btn-small" type="button" ng-click="addReportSecurityRole(addReportRoleId.id)">Add</button> + </td> + </tr> + </tbody> + </table> + </div> + +</div> + +<div id="stepView"> +</div> +</div> + +</div> |