From 6049cd64d83117e931c5075dd7d5c021444dde38 Mon Sep 17 00:00:00 2001 From: Rohit Yadav Date: Fri, 11 Oct 2019 12:27:47 +0530 Subject: [PATCH] infocard: support for tags and config across UI Signed-off-by: Rohit Yadav --- ui/src/config/router.js | 3 ++ ui/src/config/section/compute.js | 1 + ui/src/config/section/iam.js | 1 + ui/src/config/section/image.js | 2 ++ ui/src/config/section/infra.js | 1 + ui/src/config/section/network.js | 5 +++ ui/src/config/section/project.js | 1 + ui/src/config/section/storage.js | 3 ++ ui/src/views/common/InfoCard.vue | 59 +++++++++++++++++++------------- 9 files changed, 52 insertions(+), 24 deletions(-) diff --git a/ui/src/config/router.js b/ui/src/config/router.js index 26d4da246fd..49a178d9789 100644 --- a/ui/src/config/router.js +++ b/ui/src/config/router.js @@ -36,6 +36,7 @@ export function generateRouterMap (section) { keepAlive: true, icon: child.icon, permission: child.permission, + resourceType: child.resourceType, params: child.params ? child.params : {}, columns: child.columns, actions: child.actions @@ -50,6 +51,7 @@ export function generateRouterMap (section) { keepAlive: true, icon: child.icon, permission: child.permission, + resourceType: child.resourceType, params: child.params ? child.params : {}, actions: child.actions ? child.actions : [], viewComponent: child.viewComponent @@ -90,6 +92,7 @@ export function generateRouterMap (section) { keepAlive: true, icon: section.icon, permission: section.permission, + resourceType: section.resourceType, params: section.params ? section.params : {}, actions: section.actions ? section.actions : [], viewComponent: section.viewComponent diff --git a/ui/src/config/section/compute.js b/ui/src/config/section/compute.js index 30a76360832..c015f482dfd 100644 --- a/ui/src/config/section/compute.js +++ b/ui/src/config/section/compute.js @@ -8,6 +8,7 @@ export default { title: 'Instances', icon: 'desktop', permission: [ 'listVirtualMachinesMetrics', 'listVirtualMachines' ], + resourceType: 'UserVm', viewComponent: () => import('@/views/compute/InstanceView.vue'), columns: [ { 'name': (record) => { return record.displayname } }, 'state', 'instancename', diff --git a/ui/src/config/section/iam.js b/ui/src/config/section/iam.js index 907c153459b..8d52b9a8133 100644 --- a/ui/src/config/section/iam.js +++ b/ui/src/config/section/iam.js @@ -23,6 +23,7 @@ export default { title: 'Domains', icon: 'block', permission: [ 'listDomains' ], + resourceType: 'Domain', columns: ['name', 'state', 'path', 'parentdomainname', 'level'] }, { diff --git a/ui/src/config/section/image.js b/ui/src/config/section/image.js index 2d00f463c45..c2ea6715d83 100644 --- a/ui/src/config/section/image.js +++ b/ui/src/config/section/image.js @@ -8,6 +8,7 @@ export default { title: 'Templates', icon: 'save', permission: [ 'listTemplates' ], + resourceType: 'Template', params: { 'templatefilter': 'executable' }, columns: ['name', 'ostypename', 'status', 'hypervisor', 'account', 'domain'], actions: [ @@ -25,6 +26,7 @@ export default { title: 'ISOs', icon: 'usb', permission: [ 'listIsos' ], + resourceType: 'ISO', columns: ['name', 'ostypename', 'account', 'domain'] } ] diff --git a/ui/src/config/section/infra.js b/ui/src/config/section/infra.js index 7f94c34f131..e693f5edc18 100644 --- a/ui/src/config/section/infra.js +++ b/ui/src/config/section/infra.js @@ -40,6 +40,7 @@ export default { title: 'Hosts', icon: 'desktop', permission: [ 'listHosts', 'listHostsMetrics' ], + resourceType: 'Host', params: { 'type': 'routing' }, columns: [ 'name', 'state', 'resourcestate', 'ipaddress', 'hypervisor', 'hypervisorversion', 'clustername', 'zonename' ] }, diff --git a/ui/src/config/section/network.js b/ui/src/config/section/network.js index 59f79ab5c22..ec7bf3cb530 100644 --- a/ui/src/config/section/network.js +++ b/ui/src/config/section/network.js @@ -8,6 +8,7 @@ export default { title: 'Guest Networks', icon: 'gateway', permission: [ 'listNetworks' ], + resourceType: 'Network', columns: ['name', 'state', 'type', 'cidr', 'ip6cidr', 'broadcasturi', 'account', 'zonename'], actions: [ { @@ -25,6 +26,7 @@ export default { title: 'VPC', icon: 'deployment-unit', permission: [ 'listVPCs' ], + resourceType: 'Vpc', columns: ['name', 'state', 'displaytext', 'cidr', 'account', 'zonename'] }, { @@ -32,6 +34,7 @@ export default { title: 'Security Groups', icon: 'fire', permission: [ 'listSecurityGroups' ], + resourceType: 'SecurityGroup', columns: ['name', 'description', 'account', 'domain'] }, { @@ -39,6 +42,7 @@ export default { title: 'Public IP Addresses', icon: 'environment', permission: [ 'listPublicIpAddresses' ], + resourceType: 'PublicIpAddress', columns: ['ipaddress', 'state', 'associatednetworkname', 'virtualmachinename', 'allocated', 'account', 'zonename'] }, { @@ -46,6 +50,7 @@ export default { title: 'VPN Gateway', icon: 'lock', permission: [ 'listVpnCustomerGateways' ], + resourceType: 'VpnGateway', columns: ['name', 'ipaddress', 'gateway', 'cidrlist', 'ipsecpsk', 'account', 'domain'] } ] diff --git a/ui/src/config/section/project.js b/ui/src/config/section/project.js index 504a3174c77..d36e0da70fa 100644 --- a/ui/src/config/section/project.js +++ b/ui/src/config/section/project.js @@ -3,5 +3,6 @@ export default { title: 'Projects', icon: 'project', permission: [ 'listProjects' ], + resourceType: 'Project', columns: ['name', 'state', 'displaytext', 'account', 'domain'] } diff --git a/ui/src/config/section/storage.js b/ui/src/config/section/storage.js index 1683621b668..e8a1604e648 100644 --- a/ui/src/config/section/storage.js +++ b/ui/src/config/section/storage.js @@ -8,6 +8,7 @@ export default { title: 'Volumes', icon: 'hdd', permission: [ 'listVolumesMetrics', 'listVolumes' ], + resourceType: 'Volume', columns: ['name', 'state', 'type', 'vmname', 'size', 'physicalsize', 'utilization', 'diskkbsread', 'diskkbswrite', 'diskiopstotal', 'storage', 'account', 'zonename'], hidden: ['storage', 'utilization'], actions: [ @@ -90,6 +91,7 @@ export default { title: 'Snapshots', icon: 'build', permission: [ 'listSnapshots' ], + resourceType: 'Snapshot', columns: ['name', 'state', 'volumename', 'intervaltype', 'created', 'account'] }, { @@ -97,6 +99,7 @@ export default { title: 'VM Snapshots', icon: 'camera', permission: [ 'listVMSnapshot' ], + resourceType: 'VMSnapshot', columns: ['name', 'state', 'type', 'current', 'parent', 'created', 'account'] } ] diff --git a/ui/src/views/common/InfoCard.vue b/ui/src/views/common/InfoCard.vue index 75be8fc30b3..566a9e9202f 100644 --- a/ui/src/views/common/InfoCard.vue +++ b/ui/src/views/common/InfoCard.vue @@ -9,12 +9,8 @@

- {{ resource.name }}

- - {{ resource.state || resource.status }} - {{ resource.type }} @@ -88,7 +84,7 @@
-