Vue3 migration - vue-migration.js launch + shell compatibility fixes

Signed-off-by: Francesco Torchia <francesco.torchia@suse.com>
This commit is contained in:
Francesco Torchia
2024-10-23 17:00:51 +02:00
parent 9613ada5a7
commit aba9c167e0
150 changed files with 2297 additions and 2244 deletions
+2 -4
View File
@@ -122,9 +122,7 @@ export default {
</div>
<div class="mt-10">
<Tag
v-for="(tag) in value"
:key="tag"
class="tag"
v-for="((tag), i) in value" :key="i" class="tag"
>
<span>
{{ tag }}
@@ -157,7 +155,7 @@ export default {
>
<input
ref="addTagInput"
v-model="inputValue"
v-model:value="inputValue"
type="text"
size="small"
@blur="confirmAdd"
+2 -2
View File
@@ -88,7 +88,7 @@ export default {
<div class="filter-popup">
<div>
<LabeledSelect
v-model="parentSriov"
v-model:value="parentSriov"
:options="parentSriovOptions"
:searchable="true"
:label="label"
@@ -121,7 +121,7 @@ export default {
width: 300px;
}
::v-deep .box {
:deep() .box {
display: grid;
grid-template-columns: 40% 40% 10%;
column-gap: 1.75%;
+9 -9
View File
@@ -117,7 +117,7 @@ export default {
<template>
<div class="filter">
<template v-for="(label, index) in searchLabels">
<template v-for="(label, index) in searchLabels" :key="index">
<span v-if="label.key" :key="`${label.key}${index}`" class="banner-item bg-warning">
{{ label.key }}{{ label.value ? "=" : '' }}{{ label.value }}<i class="icon icon-close" @click="remove(label)" />
</span>
@@ -139,11 +139,11 @@ export default {
<div class="filter-popup">
<div>
<ArrayList
v-model="searchLabels"
v-model:value="searchLabels"
:show-header="true"
:default-add-value="defaultAddValue"
:initial-empty-row="true"
@input="filterRows"
@update:value="filterRows"
>
<template v-slot:column-headers>
<div class="box">
@@ -162,11 +162,11 @@ export default {
<Select
ref="select"
key="label"
v-model="scope.row.value.key"
v-model:value="scope.row.value.key"
:append-to-body="false"
:searchable="true"
:options="optionLabels"
@input="filterRows"
@update:value="filterRows"
/>
</div>
<div class="value">
@@ -174,13 +174,13 @@ export default {
v-if="calcValueOptions(scope.row.value.key).length > 0"
ref="select"
key="value"
v-model="scope.row.value.value"
v-model:value="scope.row.value.value"
:append-to-body="false"
:searchable="true"
:options="calcValueOptions(scope.row.value.key)"
@input="filterRows"
@update:value="filterRows"
/>
<LabeledInput v-else v-model="scope.row.value.value" @input="filterRows" />
<LabeledInput v-else v-model:value="scope.row.value.value" @update:value="filterRows" />
</div>
</template>
@@ -234,7 +234,7 @@ export default {
width: 600px;
}
::v-deep .box {
:deep() .box {
display: grid;
grid-template-columns: 40% 40% 10%;
column-gap: 1.75%;
@@ -161,7 +161,7 @@ export default {
<div>
<LabeledSelect
v-model="version"
v-model:value="version"
class="mb-10"
:label="t('harvester.upgradePage.versionLabel')"
:options="versionOptions"
@@ -173,7 +173,7 @@ export default {
class="mb-5"
>
<Checkbox
v-model="enableLogging"
v-model:value="enableLogging"
class="check"
type="checkbox"
:label="t('harvester.upgradePage.enableLogging')"
@@ -187,7 +187,7 @@ export default {
></p>
<Checkbox
v-model="readyReleaseNote"
v-model:value="readyReleaseNote"
class="check"
type="checkbox"
label-key="harvester.upgradePage.checkReady"
@@ -42,7 +42,7 @@ export default {
<h4>{{ title }} <span class="float-r text-info">{{ precent }}%</span></h4>
<div>
<div>
<Collapse :open.sync="open">
<Collapse v-model:open="open">
<template #title>
<div class="total-bar">
<span class="bar"><PercentageBar :value="precent" preferred-direction="MORE" /></span>
@@ -52,7 +52,7 @@ export default {
<template>
<div class="custom-content">
<div v-for="item in list" :key="item.name" class="item">
<div v-for="(item, i) in list" :key="i" >
<p>{{ item.name }} <span class="status" :class="{ [item.state]: true }">{{ item.state }}</span></p>
<PercentageBar :value="item.percent" preferred-direction="MORE" />
<p class="warning">
+1 -1
View File
@@ -104,7 +104,7 @@ export default {
<template>
<div>
<div v-for="setting in categorySettings" :key="setting.id" class="advanced-setting mb-20">
<div v-for="(setting, i) in categorySettings" :key="i" >
<div class="header">
<div class="title">
<h1>
@@ -204,7 +204,7 @@ export default {
/>
<div class="displayed-banners">
<Banner v-for="(keys,index) in displayedKeys" :key="index" color="info" :closable="true" @close="removeKey(keys)">
<Banner v-for="(keys,index) in displayedKeys" :key="index">
<span v-clean-html="keys"></span>
</Banner>
</div>
@@ -318,7 +318,7 @@ export default {
<hr>
<div v-for="(keys, index) in preferredShortcutKeys" :key="index" class="mb-5">
<div v-for="(keys, index) in preferredShortcutKeys" :key="index">
<button class="btn btn-sm bg-primary" @click="sendCustomKeys(keys.value)">
{{ keys.label }}
</button>
@@ -26,7 +26,7 @@ export default {
<div>
<TextAreaAutoGrow
v-model="value.value"
v-model:value="value.value"
:min-height="254"
/>
</div>
@@ -51,16 +51,16 @@ export default {
<div class="row">
<div class="col span-12">
<RadioGroup
v-model="parseDefaultValue.enable"
v-model:value="parseDefaultValue.enable"
class="mb-20"
name="model"
:options="[true,false]"
:labels="[t('generic.enabled'), t('generic.disabled')]"
@input="update"
@update:value="update"
/>
<UnitInput
v-if="parseDefaultValue.enable"
v-model="parseDefaultValue.expiringInHours"
v-model:value="parseDefaultValue.expiringInHours"
v-int-number
class="mb-20"
:min="1"
@@ -69,14 +69,14 @@ export default {
:suffix="parseDefaultValue.expiringInHours === 1 ? 'Hour' : 'Hours'"
:label="t('harvester.setting.autoRotateRKE2Certs.expiringInHours')"
:mode="mode"
@input="update"
@update:value="update"
/>
</div>
</div>
</template>
<style lang="scss" scoped>
::v-deep .radio-group {
:deep() .radio-group {
display: flex;
.radio-container {
margin-right: 30px;
@@ -121,16 +121,16 @@ export default {
</script>
<template>
<div class="row" @input="update">
<div class="row" @update:value="update">
<div class="col span-12">
<LabeledSelect v-model="parseDefaultValue.type" class="mb-20" :label="t('harvester.fields.type')" :options="typeOption" @input="update" />
<LabeledSelect v-model:value="parseDefaultValue.type" class="mb-20" :label="t('harvester.fields.type')" :options="typeOption" @update:value="update" />
<LabeledInput v-model="parseDefaultValue.endpoint" class="mb-5" :placeholder="endpointPlaceholder" :mode="mode" label="Endpoint" />
<LabeledInput v-model:value="parseDefaultValue.endpoint" class="mb-5" :placeholder="endpointPlaceholder" :mode="mode" label="Endpoint" />
<Tip class="mb-20" icon="icon icon-info" :text="t('harvester.backup.backupTargetTip')" />
<template v-if="isS3">
<LabeledInput
v-model="parseDefaultValue.bucketName"
v-model:value="parseDefaultValue.bucketName"
class="mb-20"
:mode="mode"
label="Bucket Name"
@@ -138,7 +138,7 @@ export default {
/>
<LabeledInput
v-model="parseDefaultValue.bucketRegion"
v-model:value="parseDefaultValue.bucketRegion"
class="mb-20"
:mode="mode"
label="Bucket Region"
@@ -146,7 +146,7 @@ export default {
/>
<LabeledInput
v-model="parseDefaultValue.accessKeyId"
v-model:value="parseDefaultValue.accessKeyId"
:placeholder="t('harvester.setting.placeholder.accessKeyId')"
class="mb-20"
:mode="mode"
@@ -155,7 +155,7 @@ export default {
/>
<Password
v-model="parseDefaultValue.secretAccessKey"
v-model:value="parseDefaultValue.secretAccessKey"
class="mb-20"
:mode="mode"
:placeholder="t('harvester.setting.placeholder.secretAccessKey')"
@@ -163,7 +163,7 @@ export default {
required
/>
<LabeledSelect v-model="parseDefaultValue.virtualHostedStyle" class="mb-20" label="Virtual Hosted-Style" :options="virtualHostedStyleType" @input="update" />
<LabeledSelect v-model:value="parseDefaultValue.virtualHostedStyle" class="mb-20" label="Virtual Hosted-Style" :options="virtualHostedStyleType" @update:value="update" />
<div class="mb-20">
<Tip icon="icon icon-info">
@@ -233,20 +233,19 @@ export default {
<div class="row mb-20">
<div class="col span-12">
<LabeledInput
v-model="mirror.key"
v-model:value="mirror.key"
:mode="mode"
required
label-key="harvester.setting.containerdRegistry.mirrors.registryName"
@keydown.native.enter.prevent="()=>{}"
@input="update"
@update:value="update"
/>
</div>
</div>
<div class="mb-20">
<LabeledSelect
:key="mirror.idx"
v-model="mirror.value.Endpoints"
v-model:value="mirror.value.Endpoints"
:mode="mode"
required
label-key="harvester.setting.containerdRegistry.mirrors.endpoints"
@@ -255,20 +254,20 @@ export default {
:searchable="true"
:options="[]"
@keydown.native.enter.prevent="()=>{}"
@input="update"
@update:value="update"
/>
</div>
<div class="row mb-20">
<KeyValue
v-model="mirror.value.Rewrites"
v-model:value="mirror.value.Rewrites"
:add-label="t('harvester.setting.containerdRegistry.mirrors.rewrite.addRewrite')"
:mode="mode"
:title="t('harvester.setting.containerdRegistry.mirrors.rewrite.rewrite')"
:read-allowed="false"
:value-can-be-empty="true"
@keydown.native.enter.prevent="()=>{}"
@input="update"
@update:value="update"
/>
</div>
</infobox>
@@ -291,11 +290,11 @@ export default {
<div class="col span-12">
<div class="col span-12">
<LabeledInput
v-model="config.key"
v-model:value="config.key"
:mode="mode"
:placeholder="t('harvester.setting.containerdRegistry.configs.registryPlaceholder')"
label-key="harvester.setting.containerdRegistry.configs.registryEDQNorIP"
@input="update"
@update:value="update"
/>
</div>
</div>
@@ -304,19 +303,19 @@ export default {
<div class="row mb-20">
<div class="col span-6">
<LabeledInput
v-model="config.value.Auth.Username"
v-model:value="config.value.Auth.Username"
:mode="mode"
label-key="harvester.setting.containerdRegistry.configs.username"
@input="update"
@update:value="update"
/>
</div>
<div class="col span-6">
<LabeledInput
v-model="config.value.Auth.Password"
v-model:value="config.value.Auth.Password"
:mode="mode"
label-key="harvester.setting.containerdRegistry.configs.password"
@input="update"
@update:value="update"
/>
</div>
</div>
@@ -324,34 +323,34 @@ export default {
<div class="row mb-20">
<div class="col span-6">
<LabeledInput
v-model="config.value.Auth.Auth"
v-model:value="config.value.Auth.Auth"
:mode="mode"
type="multiline"
:min-height="150"
label-key="harvester.setting.containerdRegistry.configs.auth"
@input="update"
@update:value="update"
/>
</div>
<div class="col span-6">
<LabeledInput
v-model="config.value.Auth.IdentityToken"
v-model:value="config.value.Auth.IdentityToken"
:mode="mode"
type="multiline"
:min-height="150"
label-key="harvester.setting.containerdRegistry.configs.identityToken"
@input="update"
@update:value="update"
/>
</div>
</div>
<div class="row">
<LabeledSelect
v-model="config.value.TLS.InsecureSkipVerify"
v-model:value="config.value.TLS.InsecureSkipVerify"
:mode="mode"
label-key="harvester.setting.containerdRegistry.configs.insecureSkipVerify"
:options="insecureSkipVerifyOption"
@input="update"
@update:value="update"
/>
</div>
</infobox>
@@ -181,7 +181,7 @@ export default {
<template>
<div>
<InfoBox v-for="(driver, idx) in configArr" :key="driver.key" class="box">
<InfoBox v-for="(driver, idx) in configArr" :key="idx">
<button :disabled="disableEdit(driver.key)" type="button" class="role-link btn btn-sm remove" @click="remove(idx)">
<i class="icon icon-x" />
</button>
@@ -189,7 +189,7 @@ export default {
<div class="row">
<div class="col span-4">
<LabeledSelect
v-model="driver.key"
v-model:value="driver.key"
:mode="mode"
required
:disabled="disableEdit(driver.key)"
@@ -197,33 +197,33 @@ export default {
:searchable="true"
:options="provisioners"
@keydown.native.enter.prevent="()=>{}"
@input="update"
@update:value="update"
/>
</div>
<div class="col span-4">
<LabeledSelect
v-model="driver.value.volumeSnapshotClassName"
v-model:value="driver.value.volumeSnapshotClassName"
:mode="mode"
required
:disabled="disableEdit(driver.key)"
:options="getVolumeSnapshotOptions(driver.key)"
:label="t('harvester.setting.csiDriverConfig.volumeSnapshotClassName')"
@keydown.native.enter.prevent="()=>{}"
@input="update"
@update:value="update"
/>
</div>
<div class="col span-4">
<LabeledSelect
v-model="driver.value.backupVolumeSnapshotClassName"
v-model:value="driver.value.backupVolumeSnapshotClassName"
:mode="mode"
required
:disabled="disableEdit(driver.key)"
:options="getVolumeSnapshotOptions(driver.key)"
:label="t('harvester.setting.csiDriverConfig.backupVolumeSnapshotClassName')"
@keydown.native.enter.prevent="()=>{}"
@input="update"
@update:value="update"
/>
</div>
</div>
@@ -32,7 +32,7 @@ export default {
>
<div class="col span-12">
<UnitInput
v-model="terminationGracePeriodSeconds"
v-model:value="terminationGracePeriodSeconds"
:suffix="terminationGracePeriodSeconds === 1 ? 'Second' : 'Seconds'"
:label="t('harvester.virtualMachine.terminationGracePeriodSeconds.label')"
:mode="mode"
@@ -57,25 +57,25 @@ export default {
<t k="harvester.setting.httpProxy.warning" :raw="true" />
</Banner>
<div class="row" @input="update">
<div class="row" @update:value="update">
<div class="col span-12">
<template>
<LabeledInput
v-model="parseDefaultValue.httpProxy"
v-model:value="parseDefaultValue.httpProxy"
class="mb-20"
:mode="mode"
label="http-proxy"
/>
<LabeledInput
v-model="parseDefaultValue.httpsProxy"
v-model:value="parseDefaultValue.httpsProxy"
class="mb-20"
:mode="mode"
label="https-proxy"
/>
<LabeledInput
v-model="parseDefaultValue.noProxy"
v-model:value="parseDefaultValue.noProxy"
class="mb-20"
:mode="mode"
label="no-proxy"
@@ -60,12 +60,12 @@ export default {
<div class="col span-12">
<template>
<ArrayList
v-model="parseDefaultValue.ntpServers"
v-model:value="parseDefaultValue.ntpServers"
:title="t('harvester.host.ntp.label')"
:protip="t('harvester.host.ntp.tips')"
:value-placeholder="t('harvester.host.ntp.placeholder')"
:mode="mode"
@input="update"
@update:value="update"
/>
</template>
</div>
@@ -54,7 +54,7 @@ export default {
<div class="col span-12">
<template>
<UnitInput
v-model="parseDefaultValue.cpu"
v-model:value="parseDefaultValue.cpu"
v-int-number
label-key="harvester.generic.cpu"
suffix="%"
@@ -62,11 +62,11 @@ export default {
required
:mode="mode"
class="mb-20"
@input="update"
@update:value="update"
/>
<UnitInput
v-model="parseDefaultValue.memory"
v-model:value="parseDefaultValue.memory"
v-int-number
label-key="harvester.generic.memory"
suffix="%"
@@ -74,11 +74,11 @@ export default {
required
:mode="mode"
class="mb-20"
@input="update"
@update:value="update"
/>
<UnitInput
v-model="parseDefaultValue.storage"
v-model:value="parseDefaultValue.storage"
v-int-number
label-key="harvester.generic.storage"
suffix="%"
@@ -86,7 +86,7 @@ export default {
required
:mode="mode"
class="mb-20"
@input="update"
@update:value="update"
/>
</template>
</div>
@@ -138,22 +138,22 @@ export default {
<div class="row mt-10">
<div class="col span-12">
<LabeledSelect
v-model="parsedDefaultValue.protocols"
v-model:value="parsedDefaultValue.protocols"
:mode="mode"
label-key="harvester.sslParameters.protocols.label"
:multiple="true"
:options="protocolOptions"
@input="update"
@update:value="update"
/>
</div>
</div>
<div class="row mt-20">
<div class="col span-12">
<LabeledInput
v-model="parsedDefaultValue.ciphers"
v-model:value="parsedDefaultValue.ciphers"
:mode="mode"
label-key="harvester.sslParameters.ciphers.label"
@input="update"
@update:value="update"
/>
</div>
</div>
@@ -165,19 +165,19 @@ export default {
<template>
<div
:class="mode"
@input="update"
@update:value="update"
>
<Banner color="warning">
<t k="harvester.setting.storageNetwork.warning" :raw="true" />
</Banner>
<RadioGroup
v-model="openVlan"
v-model:value="openVlan"
class="mb-20"
name="model"
:options="[true,false]"
:labels="[t('generic.enabled'), t('generic.disabled')]"
@input="update"
@update:value="update"
/>
<div v-if="openVlan">
@@ -190,16 +190,16 @@ export default {
/>
<LabeledSelect
v-model="parsedDefaultValue.clusterNetwork"
v-model:value="parsedDefaultValue.clusterNetwork"
label-key="harvester.setting.storageNetwork.clusterNetwork"
class="mb-20"
required
:options="clusterNetworkOptions"
@input="update"
@update:value="update"
/>
<LabeledInput
v-model="parsedDefaultValue.range"
v-model:value="parsedDefaultValue.range"
class="mb-5"
:mode="mode"
required
@@ -211,12 +211,12 @@ export default {
</Tip>
<ArrayList
v-model="exclude"
v-model:value="exclude"
:show-header="true"
:default-add-value="defaultAddValue"
:mode="mode"
:add-label="t('harvester.setting.storageNetwork.exclude.addIp')"
@input="update"
@update:value="update"
>
<template v-slot:column-headers>
<div class="box">
@@ -228,9 +228,9 @@ export default {
<template v-slot:columns="scope">
<div class="key">
<input
v-model="scope.row.value"
v-model:value="scope.row.value"
:placeholder="t('harvester.setting.storageNetwork.exclude.placeholder')"
@input="update"
@update:value="update"
/>
</div>
</template>
@@ -105,7 +105,7 @@ export default {
<div class="col span-12">
<template>
<LabeledInput
v-model="parseDefaultValue.repository"
v-model:value="parseDefaultValue.repository"
class="mb-20"
:mode="mode"
required
@@ -113,7 +113,7 @@ export default {
/>
<LabeledInput
v-model="parseDefaultValue.tag"
v-model:value="parseDefaultValue.tag"
class="mb-20"
:mode="mode"
required
@@ -121,7 +121,7 @@ export default {
/>
<LabeledSelect
v-model="parseDefaultValue.imagePullPolicy"
v-model:value="parseDefaultValue.imagePullPolicy"
class="mb-20"
required
label-key="harvester.setting.supportBundleImage.imagePullPolicy"
@@ -61,12 +61,12 @@ export default {
<div class="row">
<div class="col span-12">
<LabeledSelect
v-model="namespaces"
v-model:value="namespaces"
:multiple="true"
label-key="nameNsDescription.namespace.label"
:mode="mode"
:options="namespaceOptions"
@input="update"
@update:value="update"
/>
</div>
</div>
@@ -51,7 +51,7 @@ export default {
<div class="row" @input="update">
<div class="col span-12">
<RadioGroup
v-model="parseDefaultValue.enable"
v-model:value="parseDefaultValue.enable"
class="mb-20"
name="model"
:options="[true,false]"
@@ -72,7 +72,7 @@ export default {
</template>
<style lang="scss" scoped>
::v-deep .radio-group {
:deep() .radio-group {
display: flex;
.radio-container {
margin-right: 30px;