diff options
author | Christopher Lott (cl778h) <clott@research.att.com> | 2017-08-23 18:27:19 -0400 |
---|---|---|
committer | Christopher Lott (cl778h) <clott@research.att.com> | 2017-08-23 21:12:56 -0400 |
commit | 978dbcf0a196acbafad72fe1e2478ec0e384f02f (patch) | |
tree | 17e1ceaa4a12a599320cbb317947e990bf1a5383 /ecomp-portal-FE-common/client/app/views/widget-onboarding | |
parent | bc7350dce5b7b1dcd1c472a3922b42c4ea99809d (diff) |
Deliver centralized role management feature
Repair multiple defects also.
Revise deployment to use docker-compose.
Remove all zip archives.
Issue: PORTAL-21, PORTAL-25, PORTAL-28, PORTAL-52, PORTAL-69,
PORTAL-74, PORTAL-76, PORTAL-80, PORTAL-82
Change-Id: Ie72fec7d35ba78beb162bba6ed27b2caee340c61
Signed-off-by: Christopher Lott (cl778h) <clott@research.att.com>
Diffstat (limited to 'ecomp-portal-FE-common/client/app/views/widget-onboarding')
4 files changed, 81 insertions, 62 deletions
diff --git a/ecomp-portal-FE-common/client/app/views/widget-onboarding/widget-details-dialog/widget-details.controller.js b/ecomp-portal-FE-common/client/app/views/widget-onboarding/widget-details-dialog/widget-details.controller.js index ad88c02b..052d623d 100644 --- a/ecomp-portal-FE-common/client/app/views/widget-onboarding/widget-details-dialog/widget-details.controller.js +++ b/ecomp-portal-FE-common/client/app/views/widget-onboarding/widget-details-dialog/widget-details.controller.js @@ -20,7 +20,7 @@ 'use strict'; (function () { class WidgetOnboardingDetailsModalCtrl { - constructor($scope, $log, $interval, applicationsService, adminsService, microserviceService, widgetsCatalogService, errorMessageByCode, ECOMP_URL_REGEX, $window,userProfileService, confirmBoxService, $cookies) { + constructor($scope, $log, $interval, applicationsService, adminsService, microserviceService, widgetsCatalogService, errorMessageByCode, ECOMP_URL_REGEX, $window,userProfileService, confirmBoxService, $cookies,items) { this.appUpdate = function(){ this.hasSelectedApp = false; @@ -206,10 +206,10 @@ this.allUser = false; this.emptyWidgetName = false; - if ($scope.ngDialogData && $scope.ngDialogData.widget) { + if (items && items.widget) { this.isEditMode = true; this.allRoleSelected = true; - this.widget = _.clone($scope.ngDialogData.widget); + this.widget = _.clone(items.widget); } else { this.isEditMode = false; this.widget = _.clone(newWidgetModel); @@ -316,7 +316,7 @@ var serviceId = null; if(this.widget.serviceURL != null && this.widget.serviceURL != undefined){ - serviceId = this.widget.serviceURL.id; + serviceId = parseInt(this.widget.serviceURL); } @@ -344,14 +344,15 @@ this.widget.saving = false; return; } - $scope.closeThisDialog(true); + $scope.$dismiss('cancel'); this.widget.saving = false; }); } else{ widgetsCatalogService.updateWidget(this.widget.id, newWidget) .then(() => { - $scope.closeThisDialog(true); + $scope.$dismiss('cancel'); + }); } } @@ -365,7 +366,8 @@ this.widget.saving = false; return; } - $scope.closeThisDialog(true); + $scope.$dismiss('cancel'); + this.widget.saving = false; }); } @@ -376,6 +378,6 @@ }); } } - WidgetOnboardingDetailsModalCtrl.$inject = ['$scope', '$log', '$interval', 'applicationsService', 'adminsService', 'microserviceService', 'widgetsCatalogService', 'errorMessageByCode', 'ECOMP_URL_REGEX', '$window','userProfileService', 'confirmBoxService', '$cookies']; + WidgetOnboardingDetailsModalCtrl.$inject = ['$scope', '$log', '$interval', 'applicationsService', 'adminsService', 'microserviceService', 'widgetsCatalogService', 'errorMessageByCode', 'ECOMP_URL_REGEX', '$window','userProfileService', 'confirmBoxService', '$cookies','items']; angular.module('ecompApp').controller('WidgetOnboardingDetailsModalCtrl', WidgetOnboardingDetailsModalCtrl); })(); diff --git a/ecomp-portal-FE-common/client/app/views/widget-onboarding/widget-details-dialog/widget-details.modal.html b/ecomp-portal-FE-common/client/app/views/widget-onboarding/widget-details-dialog/widget-details.modal.html index 9e1c1696..b1232239 100644 --- a/ecomp-portal-FE-common/client/app/views/widget-onboarding/widget-details-dialog/widget-details.modal.html +++ b/ecomp-portal-FE-common/client/app/views/widget-onboarding/widget-details-dialog/widget-details.modal.html @@ -18,16 +18,25 @@ ================================================================================ --> <div class="widget-details-modal"> - <div id="'widgets-details-title" class="title">Widget Details</div> - <div class="widget-properties-main" + <div class="b2b-modal-header"> + <h2 class="widget-title" id="widgets-details-title">Widget Details</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"> + <div class="widget-properties-main" scroll-top="widgetOnboardingDetails.scrollApi"> <form id="widgets-details-form" name="widgetForm" novalidate autocomplete="off"> <div class="item required"> <div class="item-label">Widget Name</div> - <input id="widgets-details-input-name" class="input-field" + <input id="widgets-details-input-name" class="table-search-field" type="text" ng-model="widgetOnboardingDetails.widget.name" ng-change="widgetOnboardingDetails.updateWidgetName()" name="name" ng-pattern="/^[\w -]*$/" maxlength="100" @@ -51,35 +60,32 @@ </div> </div> - <div class="item"> <div class="item-label">Widget Description</div> - <input id="widgets-details-input-name" class="input-field" + <!-- <input id="widgets-details-input-description" class="input-field" type="text" ng-model="widgetOnboardingDetails.widget.desc" - name="desc" maxlength="200" /> + name="desc" maxlength="200" /> --> + <textarea b2b-reset b2b-reset-textarea id="widgets-details-input-desc" + name="desc" type="text" ng-model="widgetOnboardingDetails.widget.desc" maxlength="200" ></textarea> </div> <div class="item"> <div class="item-label">Service Endpoint</div> - <div> - <select id="widgets-details-input-endpoint-url" name="url" - class="input-field" - ng-model="widgetOnboardingDetails.widget.serviceURL" - ng-options="service as service.option - for service in widgetOnboardingDetails.availableServices" - ng-disabled="widgetOnboardingDetails.isEditMode"> - <option value="" selected="selected">Select Microservice - Endpoint</option> - </select> - </div> + <div class="table-dropdown" > + <select id="widgets-details-input-endpoint-url" name="url" b2b-dropdown placeholder-text="Select Microservice Endpoint" ng-model="widgetOnboardingDetails.widget.serviceURL" ng-disabled="widgetOnboardingDetails.isEditMode" > + <option b2b-dropdown-list option-repeat="service in widgetOnboardingDetails.availableServices" value="{{service.id}}">{{service.option}}</option> + </select> + </div> </div> <div class="widget-property"> - <input id="widgets-checkbox-app-is-enabled" type="checkbox" - class="checkbox-field" - ng-model="widgetOnboardingDetails.widget.allUser" /> - <div class="property-label checkbox-label">Allow all user - access</div> + <label for="widget-checkbox-app-is-enabled" class="checkbox"> + <input type="checkbox" + ng-model="widgetOnboardingDetails.widget.allUser" + id="widget-checkbox-app-is-enabled"> <i class="skin"></i> + <span class="property-label checkbox-label">Allow all user + access</span> + </label> </div> <div class="item required" @@ -126,7 +132,7 @@ <div> <input id="widget-onboarding-details-upload-file" file-model="widgetOnboardingDetails.widget.file" type="file" - style="height: 24px;" /> + class="widget-onboarding-details-upload-file ht" /> <div class="error-container" @@ -137,20 +143,21 @@ </div> </form> </div> + </div> + <br> + <div class="b2b-modal-footer"> + <div class="cta-button-group cta-modal-footer-flex"> + <span class="ecomp-save-spinner" ng-show="widgetOnboardingDetails.isSaving"></span> + <button id="widgets-details-save-button" class="btn btn-alt btn-small" ng-class="{disabled: widgetOnboardingDetails.widget.name == undefined || !widgetOnboardingDetails.duplicatedName + || (!widgetOnboardingDetails.widget.allUser && widgetOnboardingDetails.appCounter == 0) || (widgetOnboardingDetails.widget.file == undefined && !widgetOnboardingDetails.isEditMode) + || (!widgetOnboardingDetails.widget.allUser && !widgetOnboardingDetails.allRoleSelected) || (widgetOnboardingDetails.widget.saving)}" + ng-click="widgetOnboardingDetails.saveChanges()">Save</button> + <button class="btn btn-alt btn-small" id="widgets-details-cancel-button" ng-click="$dismiss('cancel')">Cancel</button> + </div> + </div> + + + + - <div class="dialog-control"> - <span class="ecomp-save-spinner" - ng-show="widgetOnboardingDetails.isSaving"></span> - <button id="widgets-details-save-button" class="btn btn-alt btn-small" - ng-class="{disabled: widgetOnboardingDetails.widget.name == undefined || !widgetOnboardingDetails.duplicatedName - || (!widgetOnboardingDetails.widget.allUser && widgetOnboardingDetails.appCounter == 0) || (widgetOnboardingDetails.widget.file == undefined && !widgetOnboardingDetails.isEditMode) - || (!widgetOnboardingDetails.widget.allUser && !widgetOnboardingDetails.allRoleSelected) || (widgetOnboardingDetails.widget.saving)}" - ng-click="widgetOnboardingDetails.saveChanges()">Save</button> - <button id="widgets-details-cancel-button" - class="btn btn-alt btn-small" ng-click="closeThisDialog()">Cancel</button> - - </div> - - - -</div> +</div>
\ No newline at end of file diff --git a/ecomp-portal-FE-common/client/app/views/widget-onboarding/widget-details-dialog/widget-details.modal.less b/ecomp-portal-FE-common/client/app/views/widget-onboarding/widget-details-dialog/widget-details.modal.less index d7cf2671..065c5428 100644 --- a/ecomp-portal-FE-common/client/app/views/widget-onboarding/widget-details-dialog/widget-details.modal.less +++ b/ecomp-portal-FE-common/client/app/views/widget-onboarding/widget-details-dialog/widget-details.modal.less @@ -1,9 +1,8 @@ .widget-details-modal { - height: 580px; .title { //.n18r; - .dGray18r; //AT&T Dark Gray - border-bottom: @portalDBlue 3px solid; + .dGray18r; + // border-bottom: @portalDBlue 3px solid; } .widget-input-field{ width:250px; @@ -31,7 +30,10 @@ top: -1px; height:15px; } - + .checkbox .skin { + left: 0px; + top: 0px; + } } .widget-upload-field{ height:24px; @@ -99,4 +101,7 @@ } + .widget-onboarding-details-upload-file ht { + height: 24px; + } } diff --git a/ecomp-portal-FE-common/client/app/views/widget-onboarding/widget-onboarding.controller.js b/ecomp-portal-FE-common/client/app/views/widget-onboarding/widget-onboarding.controller.js index 0e7fd9fb..8dc2201b 100644 --- a/ecomp-portal-FE-common/client/app/views/widget-onboarding/widget-onboarding.controller.js +++ b/ecomp-portal-FE-common/client/app/views/widget-onboarding/widget-onboarding.controller.js @@ -21,7 +21,7 @@ (function () { class WidgetOnboardingCtrl { constructor($log, applicationsService, widgetsCatalogService, ngDialog, confirmBoxService, - userProfileService, $cookies, $scope) { + userProfileService, $cookies, $scope,$modal) { $scope.infoMessage = true; let populateAvailableApps = widgets => { @@ -145,16 +145,20 @@ widget: selectedWidget } } - ngDialog.open({ + var modalInstance = $modal.open({ templateUrl: 'app/views/widget-onboarding/widget-details-dialog/widget-details.modal.html', - controller: 'WidgetOnboardingDetailsModalCtrl', - controllerAs: 'widgetOnboardingDetails', - data: data - }).closePromise.then(needUpdate => { - if(needUpdate.value === true){ - getOnboardingWidgets(); - } - }); + controller: 'WidgetOnboardingDetailsModalCtrl as widgetOnboardingDetails', + sizeClass: 'modal-medium', + resolve: { + items: function () { + return data; + } + } + }) + + modalInstance.result.finally(function () { + getOnboardingWidgets(); + }); }; this.deleteWidget = widget => { @@ -199,6 +203,7 @@ document.body.removeChild(a); window.URL.revokeObjectURL(url); }, 100); + }); }; @@ -206,6 +211,6 @@ } } WidgetOnboardingCtrl.$inject = ['$log', 'applicationsService', 'widgetsCatalogService', 'ngDialog', 'confirmBoxService', - 'userProfileService','$cookies', '$scope']; + 'userProfileService','$cookies', '$scope','$modal']; angular.module('ecompApp').controller('WidgetOnboardingCtrl', WidgetOnboardingCtrl); })(); |