Fix default selection logic and revert link style

The default selection wasn't represented in the UI for inventory
and credential prompts, and the UI wasn't updated when revert
was clicked. This addresses those bugs and adjust the style of
the revert link to increase padding-left.
This commit is contained in:
Greg Considine 2017-03-13 17:08:50 -04:00
parent 1e5af1212d
commit 5d9f27db62
5 changed files with 20 additions and 41 deletions

View File

@ -175,18 +175,12 @@
background-color: @btn-bg-hov;
color: @btn-txt;
}
.JobSubmission-revertButton {
background-color: @default-bg;
color: @default-link;
text-transform: uppercase;
padding-left:15px;
padding-right: 15px;
.JobSubmission-revertLink {
padding-left:10px;
font-size: 11px;
}
.JobSubmission-revertButton:hover{
background-color: @default-bg;
color: @default-link-hov;
}
.JobSubmission-selectedItem {
display: flex;
flex: 1 0 auto;

View File

@ -316,15 +316,6 @@ export default
$scope.revertToDefaultInventory = function() {
if($scope.has_default_inventory) {
$scope.selected_inventory = angular.copy($scope.defaults.inventory);
// Loop across inventories and set update the "checked" attribute for each row
$scope.inventories.forEach(function(row, i) {
if (row.id === $scope.selected_inventory.id) {
$scope.inventories[i].checked = 1;
} else {
$scope.inventories[i].checked = 0;
}
});
}
};
@ -332,15 +323,6 @@ export default
if($scope.has_default_credential) {
$scope.selected_credential = angular.copy($scope.defaults.credential);
updateRequiredPasswords();
// Loop across credentials and set update the "checked" attribute for each row
$scope.credentials.forEach(function(row, i) {
if (row.id === $scope.selected_credential.id) {
$scope.credentials[i].checked = 1;
} else {
$scope.credentials[i].checked = 0;
}
});
}
};

View File

@ -26,10 +26,10 @@
<span class="JobSubmission-selectedItemNone" ng-show="!selected_inventory">None selected</span>
</div>
<div class="JobSubmission-selectedItemRevert" ng-if="ask_inventory_on_launch && has_default_inventory">
<a class="Form-labelAction" href="" ng-hide="selected_inventory.id === defaults.inventory.id" ng-click="revertToDefaultInventory()">REVERT</a>
<a class="Form-labelAction JobSubmission-revertLink" href="" ng-hide="selected_inventory.id === defaults.inventory.id" ng-click="revertToDefaultInventory()">REVERT</a>
</div>
</div>
<job-sub-inv-list ng-if="includeInventoryList"></job-sub-inv-list>
<job-sub-inv-list ng-if="includeInventoryList" selected-inventory="$parent.selected_inventory"></job-sub-inv-list>
</div>
</div>
<div ng-if="ask_credential_on_launch || password_needed" ng-show="step === 'credential'" class="JobSubmission-form">
@ -41,10 +41,10 @@
<span class="JobSubmission-selectedItemNone" ng-show="!selected_credential">None selected</span>
</div>
<div class="JobSubmission-selectedItemRevert" ng-if="ask_credential_on_launch && has_default_credential">
<a class="Form-labelAction" href="" ng-hide="selected_credential.id === defaults.credential.id" ng-click="revertToDefaultCredential()">REVERT</a>
<a class="Form-labelAction JobSubmission-revertLink" href="" ng-hide="selected_credential.id === defaults.credential.id" ng-click="revertToDefaultCredential()">REVERT</a>
</div>
</div>
<job-sub-cred-list ng-if="includeCredentialList"></job-sub-cred-list>
<job-sub-cred-list ng-if="includeCredentialList" selected-credential="$parent.selected_credential"></job-sub-cred-list>
<div ng-show="ssh_password_required || ssh_key_unlock_required || become_password_required || vault_password_required">
<div class="JobSubmission-instructions">Launching this job requires the passwords listed below. Enter and confirm each password before continuing.</div>
<form name="forms.credentialpasswords" autocomplete="off" novalidate>

View File

@ -9,7 +9,9 @@ import jobSubCredListController from './job-sub-cred-list.controller';
export default [ 'templateUrl', 'QuerySet', 'GetBasePath', 'generateList', '$compile', 'CredentialList',
function(templateUrl, qs, GetBasePath, GenerateList, $compile, CredentialList) {
return {
scope: {},
scope: {
selectedCredential: '='
},
templateUrl: templateUrl('job-submission/lists/credential/job-sub-cred-list'),
controller: jobSubCredListController,
restrict: 'E',
@ -43,11 +45,11 @@ export default [ 'templateUrl', 'QuerySet', 'GetBasePath', 'generateList', '$com
$('#job-submission-credential-lookup').append($compile(html)(scope));
scope.$watchCollection('credentials', function () {
if(scope.selected_credential) {
scope.$watchCollection('selectedCredential', function () {
if(scope.selectedCredential) {
// Loop across the inventories and see if one of them should be "checked"
scope.credentials.forEach(function(row, i) {
if (row.id === scope.selected_credential.id) {
if (row.id === scope.selectedCredential.id) {
scope.credentials[i].checked = 1;
}
else {
@ -56,7 +58,6 @@ export default [ 'templateUrl', 'QuerySet', 'GetBasePath', 'generateList', '$com
});
}
});
});
}
};

View File

@ -9,7 +9,9 @@ import jobSubInvListController from './job-sub-inv-list.controller';
export default [ 'templateUrl', 'QuerySet', 'GetBasePath', 'generateList', '$compile', 'InventoryList',
function(templateUrl, qs, GetBasePath, GenerateList, $compile, InventoryList) {
return {
scope: {},
scope: {
selectedInventory: '='
},
templateUrl: templateUrl('job-submission/lists/inventory/job-sub-inv-list'),
controller: jobSubInvListController,
restrict: 'E',
@ -41,11 +43,11 @@ export default [ 'templateUrl', 'QuerySet', 'GetBasePath', 'generateList', '$com
$('#job-submission-inventory-lookup').append($compile(html)(scope));
scope.$watchCollection('inventories', function () {
if(scope.selected_inventory) {
scope.$watchCollection('selectedInventory', function () {
if(scope.selectedInventory) {
// Loop across the inventories and see if one of them should be "checked"
scope.inventories.forEach(function(row, i) {
if (row.id === scope.selected_inventory.id) {
if (row.id === scope.selectedInventory.id) {
scope.inventories[i].checked = 1;
}
else {