f46e58540e
In load balancer detail page, when the value of 'description' and 'Flavor' is None there will display a '-'. But there display 'None' when the value of the 'Floating IP' is none. There should be the same style in the detail page, which is easier for the user to accept. Change-Id: I1ffa874ca679abde27733ab4d471a42dc8a90a06
193 lines
5.4 KiB
JavaScript
193 lines
5.4 KiB
JavaScript
/*
|
|
* Copyright 2015 IBM Corp.
|
|
* Copyright 2017 Walmart.
|
|
*
|
|
* Licensed under the Apache License, Version 2.0 (the 'License');
|
|
* you may not use this file except in compliance with the License.
|
|
* You may obtain a copy of the License at
|
|
*
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
*
|
|
* Unless required by applicable law or agreed to in writing, software
|
|
* distributed under the License is distributed on an 'AS IS' BASIS,
|
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
* See the License for the specific language governing permissions and
|
|
* limitations under the License.
|
|
*/
|
|
(function() {
|
|
'use strict';
|
|
|
|
/**
|
|
* @ngdoc overview
|
|
* @ngname horizon.dashboard.project.lbaasv2.loadbalancers
|
|
*
|
|
* @description
|
|
* Provides the services and widgets required to support and display the project load
|
|
* balancers v2 panel.
|
|
*/
|
|
|
|
angular
|
|
.module('horizon.dashboard.project.lbaasv2.loadbalancers', [])
|
|
.constant('horizon.dashboard.project.lbaasv2.loadbalancers.resourceType',
|
|
'OS::Octavia::LoadBalancer')
|
|
.run(run);
|
|
|
|
run.$inject = [
|
|
'horizon.framework.conf.resource-type-registry.service',
|
|
'horizon.dashboard.project.lbaasv2.basePath',
|
|
'horizon.dashboard.project.lbaasv2.loadbalancers.service',
|
|
'horizon.dashboard.project.lbaasv2.loadbalancers.actions.create',
|
|
'horizon.dashboard.project.lbaasv2.loadbalancers.actions.edit',
|
|
'horizon.dashboard.project.lbaasv2.loadbalancers.actions.associate-ip',
|
|
'horizon.dashboard.project.lbaasv2.loadbalancers.actions.disassociate-ip',
|
|
'horizon.dashboard.project.lbaasv2.loadbalancers.actions.delete',
|
|
'horizon.dashboard.project.lbaasv2.loadbalancers.resourceType'
|
|
];
|
|
|
|
function run(
|
|
registry,
|
|
basePath,
|
|
loadBalancerService,
|
|
createService,
|
|
editService,
|
|
associateIpService,
|
|
disassociateIpService,
|
|
deleteService,
|
|
resourceType
|
|
) {
|
|
var loadBalancerResourceType = registry.getResourceType(resourceType);
|
|
|
|
loadBalancerResourceType
|
|
.setNames(gettext('Load Balancer'), gettext('Load Balancers'))
|
|
.setSummaryTemplateUrl(basePath + 'loadbalancers/details/drawer.html')
|
|
.setProperties(loadBalancerProperties(loadBalancerService))
|
|
.setListFunction(loadBalancerService.getLoadBalancersPromise)
|
|
.setLoadFunction(loadBalancerService.getLoadBalancerPromise)
|
|
.tableColumns
|
|
.append({
|
|
id: 'name',
|
|
priority: 1,
|
|
sortDefault: true,
|
|
urlFunction: loadBalancerService.getDetailsPath
|
|
})
|
|
.append({
|
|
id: 'vip_address',
|
|
priority: 1
|
|
})
|
|
.append({
|
|
id: 'operating_status',
|
|
priority: 1
|
|
})
|
|
.append({
|
|
id: 'provisioning_status',
|
|
priority: 1
|
|
})
|
|
.append({
|
|
id: 'admin_state_up',
|
|
priority: 1
|
|
});
|
|
|
|
loadBalancerResourceType.itemActions
|
|
.append({
|
|
id: 'loadBalancerEdit',
|
|
service: editService,
|
|
template: {
|
|
text: gettext('Edit Load Balancer')
|
|
}
|
|
})
|
|
.append({
|
|
id: 'loadBalancerAssociateFloatingIp',
|
|
service: associateIpService,
|
|
template: {
|
|
text: gettext('Associate Floating IP')
|
|
}
|
|
})
|
|
.append({
|
|
id: 'loadBalancerDisassociateFloatingIp',
|
|
service: disassociateIpService,
|
|
template: {
|
|
text: gettext('Disassociate Floating IP')
|
|
}
|
|
})
|
|
.append({
|
|
id: 'loadBalancerDelete',
|
|
service: deleteService,
|
|
template: {
|
|
text: gettext('Delete Load Balancer'),
|
|
type: 'delete'
|
|
}
|
|
});
|
|
|
|
loadBalancerResourceType.globalActions
|
|
.append({
|
|
id: 'loadBalancerCreate',
|
|
service: createService,
|
|
template: {
|
|
type: 'create',
|
|
text: gettext('Create Load Balancer')
|
|
}
|
|
});
|
|
|
|
loadBalancerResourceType.batchActions
|
|
.append({
|
|
id: 'loadBalancerBatchDelete',
|
|
service: deleteService,
|
|
template: {
|
|
text: gettext('Delete Load Balancers'),
|
|
type: 'delete-selected'
|
|
}
|
|
});
|
|
}
|
|
|
|
function loadBalancerProperties(loadBalancerService) {
|
|
return {
|
|
id: gettext('ID'),
|
|
name: {
|
|
label: gettext('Name'),
|
|
filters: ['noName']
|
|
},
|
|
description: {
|
|
label: gettext('Description'),
|
|
filters: ['noName']
|
|
},
|
|
provisioning_status: {
|
|
label: gettext('Provisioning Status'),
|
|
values: loadBalancerService.provisioningStatus
|
|
},
|
|
operating_status: {
|
|
label: gettext('Operating Status'),
|
|
values: loadBalancerService.operatingStatus
|
|
},
|
|
admin_state_up: {
|
|
label: gettext('Admin State Up'),
|
|
filters: ['yesno']
|
|
},
|
|
project_id: gettext('Project ID'),
|
|
created_at: {
|
|
label: gettext('Created At'),
|
|
filters: ['noValue']
|
|
},
|
|
updated_at: {
|
|
label: gettext('Updated At'),
|
|
filters: ['noValue']
|
|
},
|
|
vip_address: gettext('IP Address'),
|
|
vip_port_id: gettext('Port ID'),
|
|
vip_subnet_id: gettext('Subnet ID'),
|
|
vip_network_id: gettext('Network ID'),
|
|
listeners: gettext('Listeners'),
|
|
pools: gettext('Pools'),
|
|
provider: gettext('Provider'),
|
|
flavor: {
|
|
label: gettext('Flavor'),
|
|
filters: ['noValue']
|
|
},
|
|
floating_ip_address: {
|
|
label: gettext('Floating IP'),
|
|
filters: ['noValue']
|
|
}
|
|
};
|
|
}
|
|
|
|
})();
|