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

sureshanaparti 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 17ec4fc31c4 UI: Fix duplicate quickview (for provider column) in 
backup repository (#11849)
17ec4fc31c4 is described below

commit 17ec4fc31c4c784ade12ef9a0caa9eb6b66478b7
Author: Suresh Kumar Anaparti <[email protected]>
AuthorDate: Thu Feb 26 10:33:35 2026 +0530

    UI: Fix duplicate quickview (for provider column) in backup repository 
(#11849)
    
    * UI: Fix quickview (for provider column) in backup repository
    
    * Consolidated quickview checks with first column, column key
    
    * quickViewEnabled condition update
---
 ui/src/components/view/ListView.vue | 36 +++++++++++++++++++-----------------
 1 file changed, 19 insertions(+), 17 deletions(-)

diff --git a/ui/src/components/view/ListView.vue 
b/ui/src/components/view/ListView.vue
index d6f44cb6c78..66dd6b3db9e 100644
--- a/ui/src/components/view/ListView.vue
+++ b/ui/src/components/view/ListView.vue
@@ -49,7 +49,7 @@
       </div>
     </template>
     <template #bodyCell="{ column, text, record }">
-      <template v-if="['name', 'provider'].includes(column.key) ">
+      <template v-if="['name', 'provider'].includes(column.key)">
         <span
           v-if="['vm', 'vnfapp'].includes($route.path.split('/')[1])"
           style="margin-right: 5px"
@@ -70,7 +70,7 @@
             style="margin-left: 5px"
             :actions="actions"
             :resource="record"
-            :enabled="quickViewEnabled() && actions.length > 0 && columns && 
['name', 'provider'].includes(columns[0].dataIndex)"
+            :enabled="quickViewEnabled(actions, columns, column.key)"
             @exec-action="$parent.execAction"
           />
           <span
@@ -257,7 +257,7 @@
           style="margin-right: 8px"
           :actions="actions"
           :resource="record"
-          :enabled="quickViewEnabled() && actions.length > 0"
+          :enabled="quickViewEnabled(actions, columns, column.key)"
           @exec-action="$parent.execAction"
         />
         <span v-if="record.intervaltype===0">
@@ -282,7 +282,7 @@
           style="margin-left: 5px"
           :actions="actions"
           :resource="record"
-          :enabled="quickViewEnabled() && actions.length > 0 && columns && 
columns[0].dataIndex === 'displayname' "
+          :enabled="quickViewEnabled(actions, columns, column.key)"
           @exec-action="$parent.execAction"
         />
         <router-link :to="{ path: $route.path + '/' + record.id }">{{ text 
}}</router-link>
@@ -436,7 +436,7 @@
             style="margin-left: 5px"
             :actions="actions"
             :resource="record"
-            :enabled="quickViewEnabled() && actions.length > 0 && columns && 
columns[0].dataIndex === 'hypervisor' "
+            :enabled="quickViewEnabled(actions, columns, column.key)"
             @exec-action="$parent.execAction"
           />
           <router-link :to="{ path: $route.path + '/' + record.id }">{{ text 
}}</router-link>
@@ -845,7 +845,7 @@
           style="margin-left: 5px"
           :actions="actions"
           :resource="record"
-          :enabled="quickViewEnabled() && actions.length > 0"
+          :enabled="quickViewEnabled(actions, columns, column.key)"
           @exec-action="$parent.execAction"
         />
       </template>
@@ -1208,17 +1208,19 @@ export default {
         '/tungstenpolicyset', '/tungstenroutingpolicy', '/firewallrule', 
'/tungstenfirewallpolicy'].includes(this.$route.path)
     },
     createPathBasedOnVmType: createPathBasedOnVmType,
-    quickViewEnabled () {
-      return new RegExp(['/vm', '/kubernetes', '/ssh', '/userdata', 
'/vmgroup', '/affinitygroup', '/autoscalevmgroup',
-        '/volume', '/snapshot', '/vmsnapshot', '/backup',
-        '/guestnetwork', '/vpc', '/vpncustomergateway', '/vnfapp',
-        '/template', '/iso',
-        '/project', '/account', 'buckets', 'objectstore',
-        '/zone', '/pod', '/cluster', '/host', '/storagepool', '/imagestore', 
'/systemvm', '/router', '/ilbvm', '/annotation',
-        '/computeoffering', '/systemoffering', '/diskoffering', 
'/backupoffering', '/networkoffering', '/vpcoffering',
-        '/tungstenfabric', '/oauthsetting', '/guestos', 
'/guestoshypervisormapping', '/webhook', 'webhookdeliveries', 'webhookfilters', 
'/quotatariff', '/sharedfs',
-        '/ipv4subnets', '/managementserver', '/gpucard', '/gpudevices', 
'/vgpuprofile', '/extension', '/snapshotpolicy', '/backupschedule'].join('|'))
-        .test(this.$route.path)
+    quickViewEnabled (actions, columns, key) {
+      return actions.length > 0 &&
+        (columns && key === columns[0].dataIndex) &&
+        new RegExp(['/vm', '/kubernetes', '/ssh', '/userdata', '/vmgroup', 
'/affinitygroup', '/autoscalevmgroup',
+          '/volume', '/snapshot', '/vmsnapshot', '/backup',
+          '/guestnetwork', '/vpc', '/vpncustomergateway', '/vnfapp',
+          '/template', '/iso',
+          '/project', '/account', 'buckets', 'objectstore',
+          '/zone', '/pod', '/cluster', '/host', '/storagepool', '/imagestore', 
'/systemvm', '/router', '/ilbvm', '/annotation',
+          '/computeoffering', '/systemoffering', '/diskoffering', 
'/backupoffering', '/networkoffering', '/vpcoffering',
+          '/tungstenfabric', '/oauthsetting', '/guestos', 
'/guestoshypervisormapping', '/webhook', 'webhookdeliveries', 'webhookfilters', 
'/quotatariff', '/sharedfs',
+          '/ipv4subnets', '/managementserver', '/gpucard', '/gpudevices', 
'/vgpuprofile', '/extension', '/snapshotpolicy', '/backupschedule'].join('|'))
+          .test(this.$route.path)
     },
     enableGroupAction () {
       return ['vm', 'alert', 'vmgroup', 'ssh', 'userdata', 'affinitygroup', 
'autoscalevmgroup', 'volume', 'snapshot',

Reply via email to