compute: add filter by states

Fixes #213

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
This commit is contained in:
Rohit Yadav 2020-06-13 14:36:00 +05:30
parent ab1b2a46fe
commit 83cc8c3858
18 changed files with 59 additions and 45 deletions

View File

@ -29,6 +29,7 @@ export default {
docHelp: 'adminguide/virtual_machines.html',
permission: ['listVirtualMachinesMetrics'],
resourceType: 'UserVm',
filters: ['self', 'running', 'stopped'],
columns: [
'name', 'state', 'instancename', 'ipaddress', 'cpunumber', 'cpuused', 'cputotal',
{

View File

@ -1457,7 +1457,7 @@
"label.rule": "Rule",
"label.rule.number": "Rule Number",
"label.rules": "Rules",
"label.running.vms": "Running VMs",
"label.running": "Running VMs",
"label.s3.access.key": "\u0645\u0641\u062a\u0627\u062d \u0627\u0644\u0648\u0635\u0648\u0644",
"label.s3.bucket": "\u062f\u0644\u0648",
"label.s3.connection.timeout": "\u0645\u0647\u0644\u0629 \u0627\u0644\u0627\u062a\u0635\u0627\u0644",
@ -1618,7 +1618,7 @@
"label.sticky.tablesize": "\u062d\u062c\u0645 \u0627\u0644\u062c\u062f\u0648\u0644",
"label.stop": "\u062a\u0648\u0642\u0641",
"label.stop.lb.vm": "Stop LB VM",
"label.stopped.vms": "Stopped VMs",
"label.stopped": "Stopped VMs",
"label.storage": "Storage",
"label.storage.tags": "Storage Tags",
"label.storage.traffic": "Storage Traffic",

View File

@ -1457,7 +1457,7 @@
"label.rule": "Rule",
"label.rule.number": "Rule Number",
"label.rules": "Rules",
"label.running.vms": "Running VMs",
"label.running": "Running VMs",
"label.s3.access.key": "Access Key",
"label.s3.bucket": "Bucket",
"label.s3.connection.timeout": "Connection Timeout",
@ -1618,7 +1618,7 @@
"label.sticky.tablesize": "Table size",
"label.stop": "Stop",
"label.stop.lb.vm": "Stop LB VM",
"label.stopped.vms": "Stopped VMs",
"label.stopped": "Stopped VMs",
"label.storage": "Storage",
"label.storage.tags": "Storage Tags",
"label.storage.traffic": "Tr\u00e0fic d'emmagatzemament",

View File

@ -1459,7 +1459,7 @@
"label.rule": "Regel",
"label.rule.number": "Regelnummer",
"label.rules": "Regeln",
"label.running.vms": "Laufende VMs",
"label.running": "Laufende VMs",
"label.s3.access.key": "Zugriffsschl\u00fcssel",
"label.s3.bucket": "Bucket",
"label.s3.connection.timeout": "Verbindungszeit\u00fcberschreitung",
@ -1620,7 +1620,7 @@
"label.sticky.tablesize": "Tabellengr\u00f6\u00dfe",
"label.stop": "Stopp",
"label.stop.lb.vm": "LB-VM stoppen",
"label.stopped.vms": "Gestoppte VMs",
"label.stopped": "Gestoppte VMs",
"label.storage": "Speicher",
"label.storage.tags": "Datenspeicher-Markierung",
"label.storage.traffic": "Datenspeicherverkehr",

View File

@ -1649,7 +1649,7 @@
"label.rule": "Rule",
"label.rule.number": "Rule Number",
"label.rules": "Rules",
"label.running.vms": "Running VMs",
"label.running": "Running VMs",
"label.s3.access.key": "Access Key",
"label.s3.bucket": "Bucket",
"label.s3.connection.timeout": "Connection Timeout",
@ -1835,7 +1835,7 @@
"label.sticky.tablesize": "Table size",
"label.stop": "Stop",
"label.stop.lb.vm": "Stop LB VM",
"label.stopped.vms": "Stopped VMs",
"label.stopped": "Stopped VMs",
"label.storage": "Storage",
"label.storage.tags": "Storage Tags",
"label.storage.traffic": "Storage Traffic",

View File

@ -1457,7 +1457,7 @@
"label.rule": "Regla",
"label.rule.number": "N\u00famero de Regla",
"label.rules": "Reglas",
"label.running.vms": "MVs corriendo",
"label.running": "MVs corriendo",
"label.s3.access.key": "Clave de Acceso",
"label.s3.bucket": "Bucket",
"label.s3.connection.timeout": "Timeout Conexi\u00f3n",
@ -1618,7 +1618,7 @@
"label.sticky.tablesize": "Tama\u00f1o de tabla",
"label.stop": "Detener",
"label.stop.lb.vm": "Parar LB MV",
"label.stopped.vms": "MVs detenidas",
"label.stopped": "MVs detenidas",
"label.storage": "Almacenamiento",
"label.storage.tags": "Etiquetas de almacenamiento",
"label.storage.traffic": "Tr\u00e1fico de Almacenamiento",

View File

@ -1459,7 +1459,7 @@
"label.rule": "R\u00e8gle",
"label.rule.number": "Num\u00e9ro r\u00e8gle",
"label.rules": "R\u00e8gles",
"label.running.vms": "VMs actives",
"label.running": "VMs actives",
"label.s3.access.key": "Cl\u00e9 d'Acc\u00e8s",
"label.s3.bucket": "Seau",
"label.s3.connection.timeout": "D\u00e9lai d'expiration de connexion",
@ -1620,7 +1620,7 @@
"label.sticky.tablesize": "Dimension tableau",
"label.stop": "Arr\u00eater",
"label.stop.lb.vm": "Arr\u00eater LB VM",
"label.stopped.vms": "VMs arr\u00eat\u00e9es",
"label.stopped": "VMs arr\u00eat\u00e9es",
"label.storage": "Stockage",
"label.storage.tags": "\u00c9tiquettes de stockage",
"label.storage.traffic": "Trafic stockage",

View File

@ -1456,7 +1456,7 @@
"label.rule": "Rule",
"label.rule.number": "Szab\u00e1ly sz\u00e1m",
"label.rules": "Szab\u00e1lyok",
"label.running.vms": "Fut\u00f3 VM-ek",
"label.running": "Fut\u00f3 VM-ek",
"label.s3.access.key": "Hozz\u00e1f\u00e9r\u00e9si kulcs",
"label.s3.bucket": "Kos\u00e1r",
"label.s3.connection.timeout": "Kapcsol\u00f3d\u00e1si id\u0151t\u00fall\u00e9p\u00e9s",
@ -1617,7 +1617,7 @@
"label.sticky.tablesize": "T\u00e1bla m\u00e9ret",
"label.stop": "\u00c1lj",
"label.stop.lb.vm": "Terhel\u00e9seloszt\u00f3 VM le\u00e1ll\u00edt\u00e1sa",
"label.stopped.vms": "Le\u00e1ll\u00edtott VM-ek",
"label.stopped": "Le\u00e1ll\u00edtott VM-ek",
"label.storage": "T\u00e1r",
"label.storage.tags": "T\u00e1r c\u00edmk\u00e9k",
"label.storage.traffic": "T\u00e1r forgalom",

View File

@ -1457,7 +1457,7 @@
"label.rule": "Rule",
"label.rule.number": "Rule Number",
"label.rules": "Regole",
"label.running.vms": "Running VMs",
"label.running": "Running VMs",
"label.s3.access.key": "Access Key",
"label.s3.bucket": "Bucket",
"label.s3.connection.timeout": "Tempo di scadenza connessione",
@ -1618,7 +1618,7 @@
"label.sticky.tablesize": "Dimensione della tabella",
"label.stop": "Stop",
"label.stop.lb.vm": "Stop LB VM",
"label.stopped.vms": "Stopped VMs",
"label.stopped": "Stopped VMs",
"label.storage": "Storage",
"label.storage.tags": "Storage Tags",
"label.storage.traffic": "Traffico della rete Storage",

View File

@ -1456,7 +1456,7 @@
"label.rule": "Rule",
"label.rule.number": "\u898f\u5247\u756a\u53f7",
"label.rules": "\u898f\u5247",
"label.running.vms": "\u5b9f\u884c\u4e2d\u306e VM",
"label.running": "\u5b9f\u884c\u4e2d\u306e VM",
"label.s3.access.key": "\u30a2\u30af\u30bb\u30b9 \u30ad\u30fc",
"label.s3.bucket": "\u30d0\u30b1\u30c3\u30c8",
"label.s3.connection.timeout": "\u63a5\u7d9a\u30bf\u30a4\u30e0\u30a2\u30a6\u30c8",
@ -1618,7 +1618,7 @@
"label.sticky.tablesize": "\u30c6\u30fc\u30d6\u30eb \u30b5\u30a4\u30ba",
"label.stop": "\u505c\u6b62",
"label.stop.lb.vm": "LB VM \u306e\u505c\u6b62",
"label.stopped.vms": "\u505c\u6b62\u4e2d\u306e VM",
"label.stopped": "\u505c\u6b62\u4e2d\u306e VM",
"label.storage": "\u30b9\u30c8\u30ec\u30fc\u30b8",
"label.storage.tags": "\u30b9\u30c8\u30ec\u30fc\u30b8 \u30bf\u30b0",
"label.storage.traffic": "\u30b9\u30c8\u30ec\u30fc\u30b8 \u30c8\u30e9\u30d5\u30a3\u30c3\u30af",

View File

@ -1456,7 +1456,7 @@
"label.rule": "Rule",
"label.rule.number": "Rule Number",
"label.rules": "\uaddc\uce59",
"label.running.vms": "\uc2e4\ud589\uc911 VM",
"label.running": "\uc2e4\ud589\uc911 VM",
"label.s3.access.key": "Access Key",
"label.s3.bucket": "Bucket",
"label.s3.connection.timeout": "Connection Timeout",
@ -1617,7 +1617,7 @@
"label.sticky.tablesize": "\ud14c\uc774\ube14 \ud06c\uae30",
"label.stop": "\uc815\uc9c0",
"label.stop.lb.vm": "Stop LB VM",
"label.stopped.vms": "\uc815\uc9c0 \uc911 VM",
"label.stopped": "\uc815\uc9c0 \uc911 VM",
"label.storage": "\uc2a4\ud1a0\ub9ac\uc9c0",
"label.storage.tags": "\uc2a4\ud1a0\ub9ac\uc9c0 \ud0dc\uadf8",
"label.storage.traffic": "\uc2a4\ud1a0\ub9ac\uc9c0 \ud2b8\ub798\ud53d",

View File

@ -1457,7 +1457,7 @@
"label.rule": "Rule",
"label.rule.number": "Regelnummer",
"label.rules": "Regler",
"label.running.vms": "Kj\u00f8rende VMer",
"label.running": "Kj\u00f8rende VMer",
"label.s3.access.key": "Aksessn\u00f8kkel",
"label.s3.bucket": "B\u00f8tte",
"label.s3.connection.timeout": "Tilkoblingsavbrudd",
@ -1618,7 +1618,7 @@
"label.sticky.tablesize": "Tabellst\u00f8rrelse",
"label.stop": "Stopp",
"label.stop.lb.vm": "Stop LB VM",
"label.stopped.vms": "Stoppede VMer",
"label.stopped": "Stoppede VMer",
"label.storage": "Lagring",
"label.storage.tags": "Merkelapper for lagring",
"label.storage.traffic": "Lagringstrafikk",

View File

@ -1457,7 +1457,7 @@
"label.rule": "Rule",
"label.rule.number": "Regel Nummer",
"label.rules": "Regels",
"label.running.vms": "Draaiende VMs",
"label.running": "Draaiende VMs",
"label.s3.access.key": "Toegangssleutel",
"label.s3.bucket": "Bucket",
"label.s3.connection.timeout": "Connectie Timeout",
@ -1618,7 +1618,7 @@
"label.sticky.tablesize": "Tabel grootte",
"label.stop": "Stop",
"label.stop.lb.vm": "Stop LB VM",
"label.stopped.vms": "Uitgeschakelde VMs",
"label.stopped": "Uitgeschakelde VMs",
"label.storage": "Opslag",
"label.storage.tags": "Opslag Tags",
"label.storage.traffic": "Opslag Verkeer",

View File

@ -1457,7 +1457,7 @@
"label.rule": "Rule",
"label.rule.number": "Rule Number",
"label.rules": "Zasady",
"label.running.vms": "Running VMs",
"label.running": "Running VMs",
"label.s3.access.key": "Access Key",
"label.s3.bucket": "Bucket",
"label.s3.connection.timeout": "Connection Timeout",
@ -1618,7 +1618,7 @@
"label.sticky.tablesize": "Table size",
"label.stop": "Stop",
"label.stop.lb.vm": "Stop LB VM",
"label.stopped.vms": "Stopped VMs",
"label.stopped": "Stopped VMs",
"label.storage": "Storage",
"label.storage.tags": "Storage Tags",
"label.storage.traffic": "Storage Traffic",

View File

@ -1456,7 +1456,7 @@
"label.rule": "Regra",
"label.rule.number": "Regra N\u00famero",
"label.rules": "Regras",
"label.running.vms": "VMs Rodando",
"label.running": "VMs Rodando",
"label.s3.access.key": "Chave de acesso",
"label.s3.bucket": "Balde",
"label.s3.connection.timeout": "Tempo limite de conex\u00e3o",
@ -1617,7 +1617,7 @@
"label.sticky.tablesize": "Tamanho da Tabela",
"label.stop": "Parar",
"label.stop.lb.vm": "Pare LB VM",
"label.stopped.vms": "VMs Paradas",
"label.stopped": "VMs Paradas",
"label.storage": "Storage",
"label.storage.tags": "Tags de Storage",
"label.storage.traffic": "Tr\u00e1fego do Storage",

View File

@ -1456,7 +1456,7 @@
"label.rule": "Rule",
"label.rule.number": "\u041d\u043e\u043c\u0435\u0440 \u043f\u0440\u0430\u0432\u0438\u043b\u0430",
"label.rules": "\u041f\u0440\u0430\u0432\u0438\u043b\u0430",
"label.running.vms": "\u0417\u0430\u043f\u0443\u0449\u0435\u043d\u043d\u044b\u0435 \u0412\u041c",
"label.running": "\u0417\u0430\u043f\u0443\u0449\u0435\u043d\u043d\u044b\u0435 \u0412\u041c",
"label.s3.access.key": "\u041a\u043b\u044e\u0447 \u0434\u043e\u0441\u0442\u0443\u043f\u0430",
"label.s3.bucket": "Bucket",
"label.s3.connection.timeout": "\u041f\u0440\u0435\u0432\u044b\u0448\u0435\u043d\u0438\u0435 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u043e\u0436\u0438\u0434\u0430\u043d\u0438\u044f \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f",
@ -1617,7 +1617,7 @@
"label.sticky.tablesize": "\u0420\u0430\u0437\u043c\u0435\u0440 \u0442\u0430\u0431\u043b\u0438\u0446\u044b",
"label.stop": "\u041e\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c",
"label.stop.lb.vm": "Stop LB VM",
"label.stopped.vms": "\u041e\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043d\u044b\u0435 \u0412\u041c",
"label.stopped": "\u041e\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043d\u044b\u0435 \u0412\u041c",
"label.storage": "\u0425\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435",
"label.storage.tags": "\u041c\u0435\u0442\u043a\u0438 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0430",
"label.storage.traffic": "\u0422\u0440\u0430\u0444\u0438\u043a \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0430",

View File

@ -1456,7 +1456,7 @@
"label.rule": "\u89c4\u5219",
"label.rule.number": "\u89c4\u5219\u7f16\u53f7",
"label.rules": "\u89c4\u5219",
"label.running.vms": "\u6b63\u5728\u8fd0\u884c\u7684 VM",
"label.running": "\u6b63\u5728\u8fd0\u884c\u7684 VM",
"label.s3.access.key": "\u8bbf\u95ee\u5bc6\u94a5",
"label.s3.bucket": "\u5b58\u50a8\u6876",
"label.s3.connection.timeout": "\u8fde\u63a5\u8d85\u65f6",
@ -1618,7 +1618,7 @@
"label.sticky.tablesize": "\u8868\u5927\u5c0f",
"label.stop": "\u505c\u6b62",
"label.stop.lb.vm": "\u505c\u6b62 LB VM",
"label.stopped.vms": "\u5df2\u505c\u6b62\u7684 VM",
"label.stopped": "\u5df2\u505c\u6b62\u7684 VM",
"label.storage": "\u5b58\u50a8",
"label.storage.tags": "\u5b58\u50a8\u6807\u7b7e",
"label.storage.traffic": "\u5b58\u50a8\u6d41\u91cf",

View File

@ -36,17 +36,22 @@
{{ $t('label.refresh') }}
</a-button>
</a-tooltip>
<a-select
v-if="filters && filters.length > 0"
:placeholder="$t('label.filterby')"
:value="$t('label.' + selectedFilter)"
style="min-width: 100px; margin-left: 10px"
@change="changeFilter">
<a-icon slot="suffixIcon" type="filter" />
<a-select-option v-for="filter in filters" :key="filter">
{{ $t('label.' + filter) }}
</a-select-option>
</a-select>
<a-tooltip placement="right">
<template slot="title">
{{ $t('label.filterby') }}
</template>
<a-select
v-if="filters && filters.length > 0"
:placeholder="$t('label.filterby')"
:value="$t('label.' + selectedFilter)"
style="min-width: 100px; margin-left: 10px"
@change="changeFilter">
<a-icon slot="suffixIcon" type="filter" />
<a-select-option v-for="filter in filters" :key="filter">
{{ $t('label.' + filter) }}
</a-select-option>
</a-select>
</a-tooltip>
</span>
</breadcrumb>
</a-col>
@ -436,8 +441,8 @@ export default {
return
}
if (['listTemplates', 'listIsos'].includes(this.apiName) && !this.dataView) {
if (['Admin'].includes(this.$store.getters.userInfo.roletype)) {
if (['listTemplates', 'listIsos', 'listVirtualMachinesMetrics'].includes(this.apiName) && !this.dataView) {
if (['Admin'].includes(this.$store.getters.userInfo.roletype) || this.apiName === 'listVirtualMachinesMetrics') {
this.filters = ['all', ...this.filters]
if (this.selectedFilter === '') {
this.selectedFilter = 'all'
@ -453,6 +458,13 @@ export default {
params.templatefilter = this.selectedFilter
} else if (this.$route.path.startsWith('/iso')) {
params.isofilter = this.selectedFilter
} else if (this.$route.path.startsWith('/vm')) {
if (this.selectedFilter === 'self') {
params.account = this.$store.getters.userInfo.account
params.domainid = this.$store.getters.userInfo.domainid
} else if (['running', 'stopped'].includes(this.selectedFilter)) {
params.state = this.selectedFilter
}
}
}
@ -846,6 +858,7 @@ export default {
},
changeFilter (filter) {
this.selectedFilter = filter
this.page = 1
this.fetchData()
},
changePage (page, pageSize) {