From fa70d108d77e4346b8131fcf4bab643492f02870 Mon Sep 17 00:00:00 2001 From: Marliana Lara Date: Wed, 31 Jan 2018 12:23:36 -0500 Subject: [PATCH] Apply UI feedback changes * Remove input slider css mixin * Remove unused dependencies * Improve error handling by plugging in the ProcessErrors factory --- awx/ui/client/lib/components/input/_index.less | 14 ++++++++++++-- awx/ui/client/lib/theme/_mixins.less | 18 ------------------ .../instance-list-policy.controller.js | 4 +--- .../capacity-bar/capacity-bar.directive.js | 11 ++++++++--- .../src/instance-groups/capacity-bar/main.js | 5 ----- .../instance-jobs/instance-jobs.controller.js | 7 +------ .../instances/instance-modal.controller.js | 15 ++++++++++----- .../instances/instances.controller.js | 13 ++++++++++--- .../instance-groups/jobs/jobs.controller.js | 7 +------ .../list/instance-groups-list.controller.js | 12 +++++++++--- awx/ui/client/src/instance-groups/main.js | 5 +++-- 11 files changed, 55 insertions(+), 56 deletions(-) delete mode 100644 awx/ui/client/src/instance-groups/capacity-bar/main.js diff --git a/awx/ui/client/lib/components/input/_index.less b/awx/ui/client/lib/components/input/_index.less index 03589273eb..dc08df77db 100644 --- a/awx/ui/client/lib/components/input/_index.less +++ b/awx/ui/client/lib/components/input/_index.less @@ -245,10 +245,20 @@ } &::-webkit-slider-runnable-track { - .at-mixin-sliderTrack(); + background: @at-color-input-slider-track; + cursor: pointer; + height: 1px; + width: 100%; } &::-webkit-slider-thumb { - .at-mixin-sliderThumb(); + -webkit-appearance: none; + background: @at-color-input-slider-thumb; + border-radius: 50%; + border: none; + cursor: pointer; + height: 16px; + margin-top: -7px; + width: 16px; } } } \ No newline at end of file diff --git a/awx/ui/client/lib/theme/_mixins.less b/awx/ui/client/lib/theme/_mixins.less index d40373c836..701613a2ec 100644 --- a/awx/ui/client/lib/theme/_mixins.less +++ b/awx/ui/client/lib/theme/_mixins.less @@ -102,22 +102,4 @@ .at-mixin-FontFixedWidth () { font-family: Menlo, Monaco, Consolas, "Courier New", monospace; -} - -.at-mixin-sliderTrack() { - background: @at-color-input-slider-track; - cursor: pointer; - height: 1px; - width: 100%; -} - -.at-mixin-sliderThumb() { - -webkit-appearance: none; - background: @at-color-input-slider-thumb; - border-radius: 50%; - border: none; - cursor: pointer; - height: 16px; - margin-top: -7px; - width: 16px; } \ No newline at end of file diff --git a/awx/ui/client/src/instance-groups/add-edit/instance-list-policy.controller.js b/awx/ui/client/src/instance-groups/add-edit/instance-list-policy.controller.js index f70150a79c..5f63cea037 100644 --- a/awx/ui/client/src/instance-groups/add-edit/instance-list-policy.controller.js +++ b/awx/ui/client/src/instance-groups/add-edit/instance-list-policy.controller.js @@ -1,4 +1,4 @@ -function InstanceModalController ($scope, $state, $http, $q, models, strings) { +function InstanceModalController ($scope, $state, models, strings) { const { instance, instanceGroup } = models; const vm = this || {}; @@ -47,8 +47,6 @@ function InstanceModalController ($scope, $state, $http, $q, models, strings) { InstanceModalController.$inject = [ '$scope', '$state', - '$http', - '$q', 'resolvedModels', 'InstanceGroupsStrings' ]; diff --git a/awx/ui/client/src/instance-groups/capacity-bar/capacity-bar.directive.js b/awx/ui/client/src/instance-groups/capacity-bar/capacity-bar.directive.js index 378941963b..e1aea6a50f 100644 --- a/awx/ui/client/src/instance-groups/capacity-bar/capacity-bar.directive.js +++ b/awx/ui/client/src/instance-groups/capacity-bar/capacity-bar.directive.js @@ -1,5 +1,4 @@ -export default ['templateUrl', 'InstanceGroupsStrings', -function (templateUrl, strings) { +function CapacityBar (templateUrl, strings) { return { scope: { capacity: '=', @@ -44,4 +43,10 @@ function (templateUrl, strings) { } }; } -]; \ No newline at end of file + +CapacityBar.$inject = [ + 'templateUrl', + 'InstanceGroupsStrings' +]; + +export default CapacityBar; \ No newline at end of file diff --git a/awx/ui/client/src/instance-groups/capacity-bar/main.js b/awx/ui/client/src/instance-groups/capacity-bar/main.js deleted file mode 100644 index e330c7080c..0000000000 --- a/awx/ui/client/src/instance-groups/capacity-bar/main.js +++ /dev/null @@ -1,5 +0,0 @@ -import capacityBar from './capacity-bar.directive'; - -export default - angular.module('capacityBarDirective', []) - .directive('capacityBar', capacityBar); \ No newline at end of file diff --git a/awx/ui/client/src/instance-groups/instances/instance-jobs/instance-jobs.controller.js b/awx/ui/client/src/instance-groups/instances/instance-jobs/instance-jobs.controller.js index d8a768a0ba..a5a050a8c4 100644 --- a/awx/ui/client/src/instance-groups/instances/instance-jobs/instance-jobs.controller.js +++ b/awx/ui/client/src/instance-groups/instances/instance-jobs/instance-jobs.controller.js @@ -1,5 +1,5 @@ -function InstanceJobsController ($scope, GetBasePath, Rest, Dataset, Find, $filter, $state, $q, model, strings, jobStrings) { +function InstanceJobsController ($scope, $filter, $state, model, strings, jobStrings) { const vm = this || {}; const { instance } = model; @@ -66,13 +66,8 @@ function InstanceJobsController ($scope, GetBasePath, Rest, Dataset, Find, $filt InstanceJobsController.$inject = [ '$scope', - 'GetBasePath', - 'Rest', - 'Dataset', - 'Find', '$filter', '$state', - '$q', 'resolvedModels', 'InstanceGroupsStrings', 'JobStrings' diff --git a/awx/ui/client/src/instance-groups/instances/instance-modal.controller.js b/awx/ui/client/src/instance-groups/instances/instance-modal.controller.js index 6bfe0c8748..a121b677d5 100644 --- a/awx/ui/client/src/instance-groups/instances/instance-modal.controller.js +++ b/awx/ui/client/src/instance-groups/instances/instance-modal.controller.js @@ -1,4 +1,4 @@ -function InstanceModalController ($scope, $state, $http, $q, models, strings) { +function InstanceModalController ($scope, $state, models, strings, ProcessErrors) { const { instance, instanceGroup } = models; const vm = this || {}; @@ -54,7 +54,13 @@ function InstanceModalController ($scope, $state, $http, $q, models, strings) { }); Promise.all(defers) - .then(vm.onSaveSuccess); + .then(vm.onSaveSuccess) + .catch(({data, status}) => { + ProcessErrors($scope, data, status, null, { + hdr: 'Error!', + msg: 'Call failed. Return status: ' + status + }); + }); }; vm.onSaveSuccess = () => { @@ -65,10 +71,9 @@ function InstanceModalController ($scope, $state, $http, $q, models, strings) { InstanceModalController.$inject = [ '$scope', '$state', - '$http', - '$q', 'resolvedModels', - 'InstanceGroupsStrings' + 'InstanceGroupsStrings', + 'ProcessErrors' ]; export default InstanceModalController; diff --git a/awx/ui/client/src/instance-groups/instances/instances.controller.js b/awx/ui/client/src/instance-groups/instances/instances.controller.js index 7626626a21..3aed865513 100644 --- a/awx/ui/client/src/instance-groups/instances/instances.controller.js +++ b/awx/ui/client/src/instance-groups/instances/instances.controller.js @@ -1,4 +1,4 @@ -function InstancesController ($scope, $state, $http, models, Instance, strings, Dataset) { +function InstancesController ($scope, $state, $http, models, Instance, strings, Dataset, ProcessErrors) { const { instanceGroup } = models; const vm = this || {}; vm.strings = strings; @@ -51,7 +51,13 @@ function InstancesController ($scope, $state, $http, models, Instance, strings, data }; - $http(req).then(vm.onSaveSuccess); + $http(req).then(vm.onSaveSuccess) + .catch(({data, status}) => { + ProcessErrors($scope, data, status, null, { + hdr: 'Error!', + msg: 'Call failed. Return status: ' + status + }); + }); }; vm.onSaveSuccess = () => { @@ -73,7 +79,8 @@ InstancesController.$inject = [ 'resolvedModels', 'InstanceModel', 'InstanceGroupsStrings', - 'Dataset' + 'Dataset', + 'ProcessErrors' ]; export default InstancesController; diff --git a/awx/ui/client/src/instance-groups/jobs/jobs.controller.js b/awx/ui/client/src/instance-groups/jobs/jobs.controller.js index cd7a221414..f142a82abd 100644 --- a/awx/ui/client/src/instance-groups/jobs/jobs.controller.js +++ b/awx/ui/client/src/instance-groups/jobs/jobs.controller.js @@ -1,5 +1,5 @@ -function InstanceGroupJobsController ($scope, GetBasePath, Rest, Dataset, Find, $filter, $state, $q, model, strings, jobStrings) { +function InstanceGroupJobsController ($scope, $filter, $state, model, strings, jobStrings) { const vm = this || {}; const { instanceGroup } = model; @@ -78,13 +78,8 @@ function InstanceGroupJobsController ($scope, GetBasePath, Rest, Dataset, Find, InstanceGroupJobsController.$inject = [ '$scope', - 'GetBasePath', - 'Rest', - 'Dataset', - 'Find', '$filter', '$state', - '$q', 'resolvedModels', 'InstanceGroupsStrings', 'JobStrings' diff --git a/awx/ui/client/src/instance-groups/list/instance-groups-list.controller.js b/awx/ui/client/src/instance-groups/list/instance-groups-list.controller.js index 49220a810e..169c230c21 100644 --- a/awx/ui/client/src/instance-groups/list/instance-groups-list.controller.js +++ b/awx/ui/client/src/instance-groups/list/instance-groups-list.controller.js @@ -1,5 +1,5 @@ -export default ['$scope', 'InstanceGroupList', 'resolvedModels', 'GetBasePath', 'Rest', 'Dataset','Find', '$state', '$q', 'ComponentsStrings', - function($scope, InstanceGroupList, resolvedModels, GetBasePath, Rest, Dataset, Find, $state, $q, strings) { +export default ['$scope', 'InstanceGroupList', 'resolvedModels', 'Dataset', '$state', 'ComponentsStrings', 'ProcessErrors', + function($scope, InstanceGroupList, resolvedModels, Dataset, $state, strings, ProcessErrors) { let list = InstanceGroupList; const vm = this; const { instanceGroup } = resolvedModels; @@ -27,7 +27,13 @@ export default ['$scope', 'InstanceGroupList', 'resolvedModels', 'GetBasePath', deletables.forEach((data) => { let promise = instanceGroup.http.delete({resource: data}); - Promise.resolve(promise).then(vm.onSaveSuccess); + Promise.resolve(promise).then(vm.onSaveSuccess) + .catch(({data, status}) => { + ProcessErrors($scope, data, status, null, { + hdr: 'Error!', + msg: 'Call failed. Return status: ' + status + }); + }); }); }; diff --git a/awx/ui/client/src/instance-groups/main.js b/awx/ui/client/src/instance-groups/main.js index 07aadaa0cf..8d51ee6540 100644 --- a/awx/ui/client/src/instance-groups/main.js +++ b/awx/ui/client/src/instance-groups/main.js @@ -1,6 +1,6 @@ import { templateUrl } from '../shared/template-url/template-url.factory'; import CapacityAdjuster from './capacity-adjuster/capacity-adjuster.directive'; -import CapacityBar from './capacity-bar/main'; +import CapacityBar from './capacity-bar/capacity-bar.directive'; import instanceGroupsMultiselect from '../shared/instance-groups-multiselect/instance-groups.directive'; import instanceGroupsModal from '../shared/instance-groups-multiselect/instance-groups-modal/instance-groups-modal.directive'; @@ -321,7 +321,7 @@ InstanceGroupsRun.$inject = [ 'ComponentsStrings' ]; -angular.module(MODULE_NAME, [CapacityBar.name]) +angular.module(MODULE_NAME, []) .service('InstanceGroupsService', service) .factory('InstanceGroupList', list) .controller('InstanceGroupsListController', InstanceGroupsListController) @@ -331,6 +331,7 @@ angular.module(MODULE_NAME, [CapacityBar.name]) .directive('instanceGroupsMultiselect', instanceGroupsMultiselect) .directive('instanceGroupsModal', instanceGroupsModal) .directive('capacityAdjuster', CapacityAdjuster) + .directive('capacityBar', CapacityBar) .service('InstanceGroupsStrings', InstanceGroupsStrings) .service('JobStrings', JobStrings) .run(InstanceGroupsRun);