Merge "Fix the issue that a wrong message is shown in ng-launch instance"

This commit is contained in:
Jenkins 2017-04-17 17:22:31 +00:00 committed by Gerrit Code Review
commit df2aa0d635
2 changed files with 28 additions and 3 deletions

View File

@ -21,10 +21,15 @@
<div class="form-group">
<label class="control-label" translate for="availability-zone">Availability Zone</label>
<div class="horizon-loading-bar" ng-if="!model.loaded.availabilityZones">
<div class="progress progress-striped active">
<div class="progress-bar"></div>
</div>
</div>
<div class="alert alert-warning"
ng-if="model.availabilityZones.length === 0"
ng-if="model.loaded.availabilityZones && model.availabilityZones.length === 0"
translate>There are no Availability Zones.</div>
<select ng-if="model.availabilityZones.length !== 0"
<select ng-if="model.loaded.availabilityZones && model.availabilityZones.length !== 0"
class="form-control"
id="availability-zone"
ng-options="zone.value as zone.label for zone in model.availabilityZones"

View File

@ -158,6 +158,14 @@
metadataTree: null,
hintsTree: null,
/**
* This is to inform users current situation is under loading or not
*/
loaded: {
// Availability Zones on Details tab
availabilityZones: false
},
/**
* api methods for UI controllers
*/
@ -201,6 +209,12 @@
};
}
function initializeLoadStatus() {
angular.forEach(model.loaded, function(val, key) {
model.loaded[key] = false;
});
}
/**
* @ngdoc method
* @name launchInstanceModel.initialize
@ -216,6 +230,7 @@
// Each time opening launch instance wizard, we need to do this, or
// we can call the whole methods `reset` instead of `initialize`.
initializeNewInstanceSpec();
initializeLoadStatus();
if (model.initializing) {
promise = initPromise;
@ -233,7 +248,8 @@
var launchInstanceDefaults = settings.getSetting('LAUNCH_INSTANCE_DEFAULTS');
promise = $q.all([
novaAPI.getAvailabilityZones().then(onGetAvailabilityZones, noop),
novaAPI.getAvailabilityZones().then(onGetAvailabilityZones)
.finally(onGetAvailabilityZonesComplete),
novaAPI.getFlavors(true, true).then(onGetFlavors, noop),
novaAPI.getKeypairs().then(onGetKeypairs, noop),
novaAPI.getLimits(true).then(onGetNovaLimits, noop),
@ -346,6 +362,10 @@
}
function onGetAvailabilityZonesComplete() {
model.loaded.availabilityZones = true;
}
// Flavors
function onGetFlavors(data) {