Gray out the 'Boot priority' down arrow key

Gray out (disable) the 'Boot priority' down arrow key for a
'Functional' or 'Active' image if the remaining images are
'Ready' images.

Resolves openbmc/openbmc#2965

Change-Id: Id8dad6b5a8d7376fe2c1f167a2043aae87916884
Signed-off-by: CamVan Nguyen <ctnguyen@us.ibm.com>
diff --git a/app/common/directives/firmware-list.html b/app/common/directives/firmware-list.html
index 887548c..b39b5d1 100644
--- a/app/common/directives/firmware-list.html
+++ b/app/common/directives/firmware-list.html
@@ -21,15 +21,15 @@
 			</div>
 		</div>
 		<div class="table__body">
-			<div class="table__row" ng-class="firmware.activationStatus == 'Functional' ? 'firmware__primary' : ''" ng-repeat="firmware in firmwares|filter:filterBy|orderBy:'+Priority'">
+			<div class="table__row" ng-class="firmware.activationStatus == 'Functional' ? 'firmware__primary' : ''" ng-repeat="firmware in firmwares|filter:filterBy|orderBy:'+Priority' as imageList">
 				<div class="table__cell">
 					<span class="table__cell-label">Boot priority:</span>
 					<div class="icon icon__up-arrow" aria-hidden="true" ng-class="{'icon-as-spacer':$first}"
 					     ng-click="!$first && changePriority(firmware.imageId, firmware.Version, firmware.Priority, firmware.Priority - 1)"
 					     ng-show="firmware.activationStatus == 'Functional' || firmware.activationStatus == 'Active'">
 						<span class="accessible-text">firmware up in priority</span></div>
-					<div class="icon icon__down-arrow" aria-hidden="true" ng-class="{'icon-as-spacer':$last}"
-					    ng-click="!$last && changePriority(firmware.imageId, firmware.Version, firmware.Priority, firmware.Priority + 2)"
+					<div class="icon icon__down-arrow" aria-hidden="true" ng-class="{'icon-as-spacer':$last || imageList[$index+1].activationStatus != 'Active'}"
+					    ng-click="(!$last && imageList[$index + 1].activationStatus == 'Active') && changePriority(firmware.imageId, firmware.Version, firmware.Priority, firmware.Priority + 2)"
 					    ng-show="firmware.activationStatus == 'Functional' || firmware.activationStatus == 'Active'">
 						<span class="accessible-text">firmware down in priority</span></div>
 				</div>