From 484ab107b09e832ff7096407ee59fe41e1a46e63 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bernardo=20De=20Marco=20Gon=C3=A7alves?= Date: Thu, 13 Feb 2025 10:32:44 -0300 Subject: [PATCH 1/2] fix selection of domains in the SearchView component --- ui/src/components/view/SearchView.vue | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/ui/src/components/view/SearchView.vue b/ui/src/components/view/SearchView.vue index d0e962c58e5d..cbd0090fc03d 100644 --- a/ui/src/components/view/SearchView.vue +++ b/ui/src/components/view/SearchView.vue @@ -249,7 +249,8 @@ export default { this.fetchDynamicFieldData(fieldname, event.target.value) }, onSelectFieldChange (fieldname) { - if (fieldname === 'domainid') { + const fetchAccountOptions = fieldname === 'domainid' && this.fields.some((field) => field.name === 'account') + if (fetchAccountOptions) { this.fetchDynamicFieldData('account') } }, @@ -711,10 +712,6 @@ export default { if (Array.isArray(arrayField)) { this.fillFormFieldValues() } - if (networkIndex > -1) { - this.fields[networkIndex].loading = false - } - this.fillFormFieldValues() }) }, initFormFieldData () { @@ -1323,7 +1320,7 @@ export default { this.searchQuery = value this.$emit('search', { searchQuery: this.searchQuery }) }, - onClear () { + async onClear () { this.formRef.value.resetFields() this.form = reactive({}) this.isFiltered = false @@ -1331,6 +1328,14 @@ export default { this.inputValue = null this.searchQuery = null this.paramsFilter = {} + + const refreshAccountOptions = ['account', 'domainid'].every((field) => { + return this.fields.some((searchViewField) => searchViewField.name === field) + }) + if (refreshAccountOptions) { + await this.fetchDynamicFieldData('account') + } + this.$emit('search', this.paramsFilter) }, handleSubmit () { From c2920b4b5d870ce29fee0dcdabdb064ec91ce16d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bernardo=20De=20Marco=20Gon=C3=A7alves?= Date: Thu, 13 Feb 2025 12:38:35 -0300 Subject: [PATCH 2/2] fix infinite loading when listAccounts response is empty --- ui/src/components/view/SearchView.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ui/src/components/view/SearchView.vue b/ui/src/components/view/SearchView.vue index cbd0090fc03d..912c4d1be7b6 100644 --- a/ui/src/components/view/SearchView.vue +++ b/ui/src/components/view/SearchView.vue @@ -779,7 +779,7 @@ export default { params.domainid = this.form.domainid } api('listAccounts', params).then(json => { - var account = json.listaccountsresponse.account + let account = json?.listaccountsresponse?.account || [] if (this.form.domainid) { account = account.filter(a => a.domainid === this.form.domainid) }