You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by nv...@apache.org on 2021/09/14 03:34:44 UTC

[cloudstack] branch main updated: ui: select newly created network in deploy vm (#5423)

This is an automated email from the ASF dual-hosted git repository.

nvazquez pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/cloudstack.git


The following commit(s) were added to refs/heads/main by this push:
     new 6e50e10  ui: select newly created network in deploy vm (#5423)
6e50e10 is described below

commit 6e50e10470c3fa3355c78cd2df804d98ace72fe1
Author: Abhishek Kumar <ab...@gmail.com>
AuthorDate: Tue Sep 14 09:04:10 2021 +0530

    ui: select newly created network in deploy vm (#5423)
    
    Form tries to find newly created network which belongs to the same account, created in last 30s and was not present in the networks list before opening create network dialog.
    
    Signed-off-by: Abhishek Kumar <ab...@gmail.com>
---
 ui/src/views/compute/wizard/NetworkSelection.vue | 35 ++++++++++++++++++++++--
 1 file changed, 33 insertions(+), 2 deletions(-)

diff --git a/ui/src/views/compute/wizard/NetworkSelection.vue b/ui/src/views/compute/wizard/NetworkSelection.vue
index ea04cbe..c2ce608 100644
--- a/ui/src/views/compute/wizard/NetworkSelection.vue
+++ b/ui/src/views/compute/wizard/NetworkSelection.vue
@@ -22,7 +22,7 @@
       :placeholder="$t('label.search')"
       v-model="filter"
       @search="handleSearch" />
-    <a-button type="primary" @click="showCreateForm = true" style="float: right; margin-right: 5px; z-index: 8">
+    <a-button type="primary" @click="onCreateNetworkClick" style="float: right; margin-right: 5px; z-index: 8">
       {{ $t('label.create.network') }}
     </a-button>
     <a-table
@@ -139,7 +139,8 @@ export default {
         page: 1,
         pageSize: 10,
         keyword: null
-      }
+      },
+      networksBeforeCreate: null
     }
   },
   computed: {
@@ -222,6 +223,32 @@ export default {
           }
         }
       }
+    },
+    items () {
+      if (this.items && this.items.length > 0 &&
+        this.networksBeforeCreate) {
+        var user = this.$store.getters.userInfo
+        for (var network of this.items) {
+          if (user.account !== network.account ||
+            user.domainid !== network.domainid ||
+            (new Date()).getTime() - Date.parse(network.created) > 30000) {
+            continue
+          }
+          var networkFoundInNewList = false
+          for (var oldNetwork of this.networksBeforeCreate) {
+            if (oldNetwork.id === network.id) {
+              networkFoundInNewList = true
+              break
+            }
+          }
+          if (!networkFoundInNewList) {
+            this.selectedRowKeys.push(network.id)
+            this.$emit('select-network-item', this.selectedRowKeys)
+            break
+          }
+        }
+        this.networksBeforeCreate = null
+      }
     }
   },
   beforeCreate () {
@@ -289,6 +316,10 @@ export default {
           resolve(error)
         })
       })
+    },
+    onCreateNetworkClick () {
+      this.networksBeforeCreate = this.items
+      this.showCreateForm = true
     }
   }
 }