mirror of
https://github.com/harvester/harvester-ui-extension.git
synced 2025-12-13 21:21:44 +00:00
Implement schedulingVMBackup feature flag
Signed-off-by: Francesco Torchia <francesco.torchia@suse.com>
This commit is contained in:
parent
a694288162
commit
780106f32a
@ -124,12 +124,18 @@ export default {
|
|||||||
align: 'left',
|
align: 'left',
|
||||||
formatter: 'AttachVMWithName'
|
formatter: 'AttachVMWithName'
|
||||||
},
|
},
|
||||||
{
|
];
|
||||||
|
|
||||||
|
if (this.schedulingVMBackupFeatureEnabled) {
|
||||||
|
cols.push({
|
||||||
name: 'backupCreatedFrom',
|
name: 'backupCreatedFrom',
|
||||||
labelKey: 'harvester.tableHeaders.vmSchedule',
|
labelKey: 'harvester.tableHeaders.vmSchedule',
|
||||||
value: 'sourceSchedule',
|
value: 'sourceSchedule',
|
||||||
formatter: 'BackupCreatedFrom',
|
formatter: 'BackupCreatedFrom',
|
||||||
},
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
cols.push(...[
|
||||||
{
|
{
|
||||||
name: 'backupTarget',
|
name: 'backupTarget',
|
||||||
labelKey: 'tableHeaders.backupTarget',
|
labelKey: 'tableHeaders.backupTarget',
|
||||||
@ -144,7 +150,7 @@ export default {
|
|||||||
align: 'center',
|
align: 'center',
|
||||||
formatter: 'Checked',
|
formatter: 'Checked',
|
||||||
},
|
},
|
||||||
];
|
]);
|
||||||
|
|
||||||
if (this.hasBackupProgresses) {
|
if (this.hasBackupProgresses) {
|
||||||
cols.push({
|
cols.push({
|
||||||
@ -155,11 +161,16 @@ export default {
|
|||||||
formatter: 'HarvesterBackupProgressBar',
|
formatter: 'HarvesterBackupProgressBar',
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
cols.push(AGE);
|
cols.push(AGE);
|
||||||
|
|
||||||
return cols;
|
return cols;
|
||||||
},
|
},
|
||||||
|
|
||||||
|
schedulingVMBackupFeatureEnabled() {
|
||||||
|
return this.$store.getters['harvester-common/getFeatureEnabled']('schedulingVMBackup');
|
||||||
|
},
|
||||||
|
|
||||||
hasBackupProgresses() {
|
hasBackupProgresses() {
|
||||||
return !!this.backups.find((r) => r.status?.progress !== undefined);
|
return !!this.backups.find((r) => r.status?.progress !== undefined);
|
||||||
},
|
},
|
||||||
@ -244,7 +255,10 @@ export default {
|
|||||||
key-field="_key"
|
key-field="_key"
|
||||||
default-sort-by="age"
|
default-sort-by="age"
|
||||||
>
|
>
|
||||||
<template #more-header-middle>
|
<template
|
||||||
|
v-if="schedulingVMBackupFeatureEnabled"
|
||||||
|
#more-header-middle
|
||||||
|
>
|
||||||
<FilterVMSchedule
|
<FilterVMSchedule
|
||||||
:rows="getRawRows"
|
:rows="getRawRows"
|
||||||
@change-rows="changeRows"
|
@change-rows="changeRows"
|
||||||
|
|||||||
@ -58,7 +58,7 @@ export default {
|
|||||||
|
|
||||||
computed: {
|
computed: {
|
||||||
headers() {
|
headers() {
|
||||||
return [
|
const cols = [
|
||||||
STATE,
|
STATE,
|
||||||
NAME,
|
NAME,
|
||||||
NAMESPACE,
|
NAMESPACE,
|
||||||
@ -70,13 +70,19 @@ export default {
|
|||||||
sort: 'attachVM',
|
sort: 'attachVM',
|
||||||
formatter: 'AttachVMWithName'
|
formatter: 'AttachVMWithName'
|
||||||
},
|
},
|
||||||
{
|
];
|
||||||
|
|
||||||
|
if (this.schedulingVMBackupFeatureEnabled) {
|
||||||
|
cols.push({
|
||||||
name: 'backupCreatedFrom',
|
name: 'backupCreatedFrom',
|
||||||
labelKey: 'harvester.tableHeaders.vmSchedule',
|
labelKey: 'harvester.tableHeaders.vmSchedule',
|
||||||
value: 'sourceSchedule',
|
value: 'sourceSchedule',
|
||||||
sort: 'sourceSchedule',
|
sort: 'sourceSchedule',
|
||||||
formatter: 'BackupCreatedFrom',
|
formatter: 'BackupCreatedFrom',
|
||||||
},
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
cols.push(...[
|
||||||
{
|
{
|
||||||
name: 'readyToUse',
|
name: 'readyToUse',
|
||||||
labelKey: 'tableHeaders.readyToUse',
|
labelKey: 'tableHeaders.readyToUse',
|
||||||
@ -86,7 +92,13 @@ export default {
|
|||||||
formatter: 'Checked',
|
formatter: 'Checked',
|
||||||
},
|
},
|
||||||
AGE
|
AGE
|
||||||
];
|
]);
|
||||||
|
|
||||||
|
return cols;
|
||||||
|
},
|
||||||
|
|
||||||
|
schedulingVMBackupFeatureEnabled() {
|
||||||
|
return this.$store.getters['harvester-common/getFeatureEnabled']('schedulingVMBackup');
|
||||||
},
|
},
|
||||||
|
|
||||||
getRawRows() {
|
getRawRows() {
|
||||||
@ -142,7 +154,10 @@ export default {
|
|||||||
key-field="_key"
|
key-field="_key"
|
||||||
default-sort-by="age"
|
default-sort-by="age"
|
||||||
>
|
>
|
||||||
<template #more-header-middle>
|
<template
|
||||||
|
v-if="schedulingVMBackupFeatureEnabled"
|
||||||
|
#more-header-middle
|
||||||
|
>
|
||||||
<FilterVMSchedule
|
<FilterVMSchedule
|
||||||
:rows="getRawRows"
|
:rows="getRawRows"
|
||||||
@change-rows="changeRows"
|
@change-rows="changeRows"
|
||||||
|
|||||||
@ -168,7 +168,7 @@ export default class VirtVm extends HarvesterResource {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
action: 'createSchedule',
|
action: 'createSchedule',
|
||||||
enabled: true,
|
enabled: this.schedulingVMBackupFeatureEnabled,
|
||||||
icon: 'icon icon-history',
|
icon: 'icon icon-history',
|
||||||
label: this.t('harvester.action.createSchedule')
|
label: this.t('harvester.action.createSchedule')
|
||||||
},
|
},
|
||||||
@ -1147,6 +1147,10 @@ export default class VirtVm extends HarvesterResource {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
get schedulingVMBackupFeatureEnabled() {
|
||||||
|
return this.$rootGetters['harvester-common/getFeatureEnabled']('schedulingVMBackup');
|
||||||
|
}
|
||||||
|
|
||||||
setInstanceLabels(val) {
|
setInstanceLabels(val) {
|
||||||
if ( !this.spec?.template?.metadata?.labels ) {
|
if ( !this.spec?.template?.metadata?.labels ) {
|
||||||
set(this, 'spec.template.metadata.labels', {});
|
set(this, 'spec.template.metadata.labels', {});
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user