From f4058705d7b5bcd838f8dc562052aa1e7ac9a64f Mon Sep 17 00:00:00 2001 From: Wei Zhou Date: Mon, 25 Mar 2024 11:27:35 +0100 Subject: [PATCH] UI: add dialog to select a VPC tier when create LB for autoscaling in VPC (#8793) --- ui/src/views/network/LoadBalancing.vue | 170 ++++++++++++++++++++++++- 1 file changed, 167 insertions(+), 3 deletions(-) diff --git a/ui/src/views/network/LoadBalancing.vue b/ui/src/views/network/LoadBalancing.vue index 973a6240d10..eeec232cee5 100644 --- a/ui/src/views/network/LoadBalancing.vue +++ b/ui/src/views/network/LoadBalancing.vue @@ -84,12 +84,18 @@ {{ $t('label.no') }} -
+
{{ $t('label.add.vms') }}
{{ $t('label.add') }}
+
+
{{ $t('label.select.tier') }}
+ + {{ $t('label.add') }} + +
{{ $t('label.add') }}
@@ -519,7 +525,7 @@ @@ -546,6 +552,71 @@
+ +
+ + + + + + + + +
+ {{ $t('label.cancel') }} + {{ $t('label.ok') }} +
+
+
+ { + this.networkCount = response.listnetworksresponse.count || 0 + this.networks = response.listnetworksresponse.network || [] + }).catch(error => { + this.$notifyError(error) + }).finally(() => { + this.addNetworkModalLoading = false + }) + this.selectedTierForAutoScaling = null + }, + onNetworkSearch (value) { + this.searchQuery = value + this.fetchNetworks() + }, + handleChangeNetworkPage (page, pageSize) { + this.networkPage = page + this.networkPageSize = pageSize + this.fetchNetworks() + }, + handleChangeNetworkPageSize (currentPage, pageSize) { + this.networkPage = currentPage + this.networkPageSize = pageSize + this.fetchNetworks() + }, handleAssignToLBRule (data) { const vmIDIpMap = {} @@ -1560,7 +1718,8 @@ export default { return } - const networkId = ('vpcid' in this.resource && !('associatednetworkid' in this.resource)) ? this.selectedTier : this.resource.associatednetworkid + const networkId = this.selectedTierForAutoScaling != null ? this.selectedTierForAutoScaling + : ('vpcid' in this.resource && !('associatednetworkid' in this.resource)) ? this.selectedTier : this.resource.associatednetworkid api('createLoadBalancerRule', { openfirewall: false, networkid: networkId, @@ -1573,7 +1732,9 @@ export default { cidrlist: this.newRule.cidrlist }).then(response => { this.addVmModalVisible = false + this.addNetworkModalVisible = false this.handleAssignToLBRule(response.createloadbalancerruleresponse.id) + this.associatednetworkid = networkId }).catch(error => { this.$notifyError(error) this.loading = false @@ -1597,6 +1758,9 @@ export default { this.nics = [] this.addVmModalVisible = false this.newRule.virtualmachineid = [] + this.addNetworkModalLoading = false + this.addNetworkModalVisible = false + this.selectedTierForAutoScaling = null }, handleChangePage (page, pageSize) { this.page = page