Merge pull request #159 from a110605/issue_5974

Add Labels Tab in VM edit page
This commit is contained in:
Andy Lee 2025-02-24 17:41:06 +08:00 committed by GitHub
commit b0b5e5f749
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 38 additions and 26 deletions

View File

@ -10,8 +10,6 @@ import { LabeledInput } from '@components/Form/LabeledInput';
import LabeledSelect from '@shell/components/form/LabeledSelect'; import LabeledSelect from '@shell/components/form/LabeledSelect';
import NameNsDescription from '@shell/components/form/NameNsDescription'; import NameNsDescription from '@shell/components/form/NameNsDescription';
import UnitInput from '@shell/components/form/UnitInput'; import UnitInput from '@shell/components/form/UnitInput';
import Labels from '@shell/components/form/Labels';
import NodeScheduling from '@shell/components/form/NodeScheduling'; import NodeScheduling from '@shell/components/form/NodeScheduling';
import PodAffinity from '@shell/components/form/PodAffinity'; import PodAffinity from '@shell/components/form/PodAffinity';
import VGpuDevices from './VirtualMachineVGpuDevices/index'; import VGpuDevices from './VirtualMachineVGpuDevices/index';
@ -65,7 +63,6 @@ export default {
PodAffinity, PodAffinity,
AccessCredentials, AccessCredentials,
Reserved, Reserved,
Labels,
PciDevices, PciDevices,
RestartVMDialog, RestartVMDialog,
UnitInput, UnitInput,
@ -703,39 +700,50 @@ export default {
/> />
</Tab> </Tab>
<Tab
name="labels"
:label="t('generic.labels')"
:weight="-9"
>
<Banner color="info">
<t k="harvester.virtualMachine.labels.banner" />
</Banner>
<KeyValue
key="labels"
:value="value.labels"
:add-label="t('labels.addLabel')"
:mode="mode"
:read-allowed="false"
:value-can-be-empty="true"
@update:value="value.setLabels($event)"
/>
</Tab>
<Tab <Tab
name="instanceLabel" name="instanceLabel"
:label="t('harvester.tab.instanceLabel')" :label="t('harvester.tab.instanceLabel')"
:weight="-8" :weight="-10"
> >
<Labels <Banner color="info">
:default-container-class="'labels-and-annotations-container'" <t k="harvester.virtualMachine.instanceLabels.banner" />
:value="value" </Banner>
<KeyValue
key="instance-labels"
:value="value.instanceLabels"
:protected-keys="value.systemLabels || []"
:toggle-filter="toggler"
:add-label="t('labels.addLabel')"
:mode="mode" :mode="mode"
:display-side-by-side="false" :read-allowed="false"
:show-annotations="false" :value-can-be-empty="true"
:show-label-title="false" @update:value="value.setInstanceLabels($event)"
> />
<template #labels="{toggler}">
<KeyValue
key="labels"
:value="value.instanceLabels"
:protected-keys="value.systemLabels || []"
:toggle-filter="toggler"
:add-label="t('labels.addLabel')"
:mode="mode"
:read-allowed="false"
:value-can-be-empty="true"
@update:value="value.setInstanceLabels($event)"
/>
</template>
</Labels>
</Tab> </Tab>
<Tab <Tab
name="advanced" name="advanced"
:label="t('harvester.tab.advanced')" :label="t('harvester.tab.advanced')"
:weight="-9" :weight="-11"
> >
<div class="row mb-20"> <div class="row mb-20">
<div class="col span-6"> <div class="col span-6">

View File

@ -773,6 +773,10 @@ harvester:
inNamespaces: "Workloads in these namespaces" inNamespaces: "Workloads in these namespaces"
namespaces: namespaces:
label: Namespaces label: Namespaces
instanceLabels:
banner: These labels are automatically synchronized to the virtual machine instance.
labels:
banner: These key values are added as labels to the virtual machine.
volume: volume:
label: Volumes label: Volumes