From a573fcde357db751a255b09e2151138da98e4e36 Mon Sep 17 00:00:00 2001 From: Harikrishna Patnala Date: Mon, 3 Apr 2023 13:54:02 +0530 Subject: [PATCH 1/3] CreateNetwork isolated/L2 form, added accounts list under selected domain --- .../network/CreateIsolatedNetworkForm.vue | 56 ++++++++++++++++--- ui/src/views/network/CreateL2NetworkForm.vue | 53 ++++++++++++++++-- 2 files changed, 96 insertions(+), 13 deletions(-) diff --git a/ui/src/views/network/CreateIsolatedNetworkForm.vue b/ui/src/views/network/CreateIsolatedNetworkForm.vue index 36d5e7cf516b..c6c1b551c85c 100644 --- a/ui/src/views/network/CreateIsolatedNetworkForm.vue +++ b/ui/src/views/network/CreateIsolatedNetworkForm.vue @@ -272,16 +272,24 @@ v-model:value="form.networkdomain" :placeholder="apiParams.networkdomain.description"/> - + - + showSearch + optionFilterProp="label" + :filterOption="(input, option) => { + return option.children[0].children.toLowerCase().indexOf(input.toLowerCase()) >= 0 + }" + :loading="accountLoading" + :placeholder="apiParams.account.description" + @change="val => { handleAccountChange(accounts[val]) }"> + + {{ opt.name || opt.description }} + +
{ + const listAccounts = json.listaccountsresponse.account + this.accounts = this.accounts.concat(listAccounts) + }).catch(error => { + this.$notifyError(error) + }).finally(() => { + this.accountLoading = false + if (this.arrayHasItems(this.accounts)) { + this.form.accountid = 0 + } + }) + }, handleSubmit () { if (this.actionLoading) return this.formRef.value.validate().then(() => { @@ -571,7 +611,7 @@ export default { if ('domainid' in values && values.domainid > 0) { params.domainid = this.selectedDomain.id if (this.isValidTextValueForKey(values, 'account')) { - params.account = values.account + params.account = this.selectedAccount.name } } api('createNetwork', params).then(json => { diff --git a/ui/src/views/network/CreateL2NetworkForm.vue b/ui/src/views/network/CreateL2NetworkForm.vue index 1aae3955c941..b0959f8785b6 100644 --- a/ui/src/views/network/CreateL2NetworkForm.vue +++ b/ui/src/views/network/CreateL2NetworkForm.vue @@ -168,9 +168,20 @@ - + + + {{ opt.name || opt.description }} + +
{ + const listAccounts = json.listaccountsresponse.account + this.accounts = this.accounts.concat(listAccounts) + }).catch(error => { + this.$notifyError(error) + }).finally(() => { + this.accountLoading = false + if (this.arrayHasItems(this.accounts)) { + this.form.accountid = 0 + } + }) + }, handleSubmit (e) { if (this.actionLoading) return this.formRef.value.validate().then(() => { @@ -411,7 +454,7 @@ export default { if ('domainid' in values && values.domainid > 0) { params.domainid = this.selectedDomain.id if (this.isValidTextValueForKey(values, 'account')) { - params.account = values.account + params.account = this.selectedAccount.name } } if (this.isValidValueForKey(values, 'isolatedpvlantype') && values.isolatedpvlantype !== 'none') { From 7adb8b231be49c55bb6fc4d24bd29e2f9ee5e379 Mon Sep 17 00:00:00 2001 From: Harikrishna Patnala Date: Mon, 3 Apr 2023 16:25:47 +0530 Subject: [PATCH 2/3] Fixed list accounts when empty --- ui/src/views/network/CreateIsolatedNetworkForm.vue | 6 +++--- ui/src/views/network/CreateL2NetworkForm.vue | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/ui/src/views/network/CreateIsolatedNetworkForm.vue b/ui/src/views/network/CreateIsolatedNetworkForm.vue index c6c1b551c85c..4b2061e70d48 100644 --- a/ui/src/views/network/CreateIsolatedNetworkForm.vue +++ b/ui/src/views/network/CreateIsolatedNetworkForm.vue @@ -573,14 +573,14 @@ export default { ] this.selectedAccount = {} api('listAccounts', params).then(json => { - const listAccounts = json.listaccountsresponse.account + const listAccounts = json.listaccountsresponse.account || [] this.accounts = this.accounts.concat(listAccounts) }).catch(error => { this.$notifyError(error) }).finally(() => { this.accountLoading = false if (this.arrayHasItems(this.accounts)) { - this.form.accountid = 0 + this.form.account = null } }) }, @@ -610,7 +610,7 @@ export default { } if ('domainid' in values && values.domainid > 0) { params.domainid = this.selectedDomain.id - if (this.isValidTextValueForKey(values, 'account')) { + if (this.isValidTextValueForKey(values, 'account') && this.selectedAccount.id !== '-1') { params.account = this.selectedAccount.name } } diff --git a/ui/src/views/network/CreateL2NetworkForm.vue b/ui/src/views/network/CreateL2NetworkForm.vue index b0959f8785b6..e842aee428dd 100644 --- a/ui/src/views/network/CreateL2NetworkForm.vue +++ b/ui/src/views/network/CreateL2NetworkForm.vue @@ -422,14 +422,14 @@ export default { ] this.selectedAccount = {} api('listAccounts', params).then(json => { - const listAccounts = json.listaccountsresponse.account + const listAccounts = json.listaccountsresponse.account || [] this.accounts = this.accounts.concat(listAccounts) }).catch(error => { this.$notifyError(error) }).finally(() => { this.accountLoading = false if (this.arrayHasItems(this.accounts)) { - this.form.accountid = 0 + this.form.account = null } }) }, @@ -453,7 +453,7 @@ export default { } if ('domainid' in values && values.domainid > 0) { params.domainid = this.selectedDomain.id - if (this.isValidTextValueForKey(values, 'account')) { + if (this.isValidTextValueForKey(values, 'account') && this.selectedAccount.id !== '-1') { params.account = this.selectedAccount.name } } From ba9c84e685d7b18b88062108c1623db5f8ebcce4 Mon Sep 17 00:00:00 2001 From: Harikrishna Patnala Date: Mon, 3 Apr 2023 17:10:37 +0530 Subject: [PATCH 3/3] Reodering --- .../network/CreateIsolatedNetworkForm.vue | 60 +++++++++---------- ui/src/views/network/CreateL2NetworkForm.vue | 38 ++++++------ 2 files changed, 49 insertions(+), 49 deletions(-) diff --git a/ui/src/views/network/CreateIsolatedNetworkForm.vue b/ui/src/views/network/CreateIsolatedNetworkForm.vue index 4b2061e70d48..d42dc90d8230 100644 --- a/ui/src/views/network/CreateIsolatedNetworkForm.vue +++ b/ui/src/views/network/CreateIsolatedNetworkForm.vue @@ -85,6 +85,36 @@ + + + + + {{ opt.name || opt.description }} + + + + + + +