@@ -19,6 +19,7 @@ import { shallowRef, defineAsyncComponent } from 'vue'
1919import store from '@/store'
2020import tungsten from '@/assets/icons/tungsten.svg?inline'
2121import { isAdmin } from '@/role'
22+ import { isZoneCreated } from '@/utils/zone'
2223
2324export default {
2425 name : 'network' ,
@@ -123,7 +124,7 @@ export default {
123124 listView : true ,
124125 popup : true ,
125126 show : ( ) => {
126- if ( ! store . getters . zones || store . getters . zones . length === 0 ) {
127+ if ( ! isZoneCreated ( ) ) {
127128 return false
128129 }
129130 const AdvancedZones = store . getters . zones . filter ( zone => zone . networktype === 'Advanced' )
@@ -245,6 +246,7 @@ export default {
245246 icon : 'plus-outlined' ,
246247 label : 'label.add.vpc' ,
247248 docHelp : 'adminguide/networking_and_traffic.html#adding-a-virtual-private-cloud' ,
249+ show : ( ) => { isZoneCreated ( ) } ,
248250 listView : true ,
249251 popup : true ,
250252 component : shallowRef ( defineAsyncComponent ( ( ) => import ( '@/views/network/CreateVpc.vue' ) ) )
@@ -306,7 +308,7 @@ export default {
306308 component : shallowRef ( defineAsyncComponent ( ( ) => import ( '@/views/network/IngressEgressRuleConfigure.vue' ) ) )
307309 } ] ,
308310 show : ( ) => {
309- if ( ! store . getters . zones || store . getters . zones . length === 0 ) {
311+ if ( ! isZoneCreated ( ) ) {
310312 return false
311313 }
312314 const listZoneHaveSGEnabled = store . getters . zones . filter ( zone => zone . securitygroupsenabled === true )
@@ -394,6 +396,7 @@ export default {
394396 label : 'label.vnf.appliance.add' ,
395397 docHelp : 'adminguide/networking/vnf_templates_appliances.html#deploying-vnf-appliances' ,
396398 listView : true ,
399+ show : ( ) => { isZoneCreated ( ) } ,
397400 component : ( ) => import ( '@/views/compute/DeployVnfAppliance.vue' )
398401 } ,
399402 {
@@ -941,6 +944,7 @@ export default {
941944 label : 'label.add.vpn.gateway' ,
942945 docHelp : 'adminguide/networking_and_traffic.html#creating-a-vpn-gateway-for-the-vpc' ,
943946 listView : true ,
947+ show : ( ) => { isZoneCreated ( ) } ,
944948 args : [ 'vpcid' ]
945949 } ,
946950 {
@@ -1116,6 +1120,7 @@ export default {
11161120 icon : 'plus-outlined' ,
11171121 label : 'label.add.vpn.user' ,
11181122 listView : true ,
1123+ show : ( ) => { isZoneCreated ( ) } ,
11191124 args : ( record , store ) => {
11201125 if ( store . userInfo . roletype === 'User' ) {
11211126 return [ 'username' , 'password' ]
@@ -1195,6 +1200,7 @@ export default {
11951200 docHelp : 'adminguide/networking_and_traffic.html#creating-and-updating-a-vpn-customer-gateway' ,
11961201 listView : true ,
11971202 popup : true ,
1203+ show : ( ) => { isZoneCreated ( ) } ,
11981204 component : shallowRef ( defineAsyncComponent ( ( ) => import ( '@/views/network/CreateVpnCustomerGateway.vue' ) ) )
11991205 } ,
12001206 {
@@ -1384,12 +1390,7 @@ export default {
13841390 component : shallowRef ( defineAsyncComponent ( ( ) => import ( '@/views/network/GuestVlanNetworksTab.vue' ) ) ) ,
13851391 show : ( record ) => { return ( record . allocationstate === 'Allocated' ) }
13861392 } ] ,
1387- show : ( ) => {
1388- if ( ! store . getters . zones || store . getters . zones . length === 0 ) {
1389- return false
1390- }
1391- return true
1392- }
1393+ show : ( ) => { isZoneCreated ( ) }
13931394 }
13941395 ]
13951396}
0 commit comments