Fix error banner position in all dialogs (#226)

* fix error banner position in all dialogs

Signed-off-by: Andy Lee <andy.lee@suse.com>

* update HarvesterImageDownloader.vue

Signed-off-by: Andy Lee <andy.lee@suse.com>

---------

Signed-off-by: Andy Lee <andy.lee@suse.com>
This commit is contained in:
Andy Lee 2025-03-31 16:27:13 +08:00 committed by GitHub
parent f2fe1f5bd6
commit 25439aee65
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
19 changed files with 105 additions and 96 deletions

View File

@ -138,6 +138,8 @@ export default {
<Banner <Banner
v-for="(error, i) in errors" v-for="(error, i) in errors"
:key="i" :key="i"
:label="error"
color="error"
/> />
</div> </div>
</template> </template>

View File

@ -166,6 +166,8 @@ export default {
<Banner <Banner
v-for="(error, i) in errors" v-for="(error, i) in errors"
:key="i" :key="i"
:label="error"
color="error"
/> />
</div> </div>
</template> </template>

View File

@ -106,6 +106,12 @@ export default {
:label="t('harvester.modal.cloneVM.name')" :label="t('harvester.modal.cloneVM.name')"
required required
/> />
<Banner
v-for="(err, i) in errors"
:key="i"
:label="err"
color="error"
/>
</template> </template>
<template #actions> <template #actions>
@ -125,13 +131,6 @@ export default {
@click="create" @click="create"
/> />
</div> </div>
<Banner
v-for="(err, i) in errors"
:key="i"
color="error"
:label="err"
/>
</div> </div>
</template> </template>
</Card> </Card>

View File

@ -137,6 +137,12 @@ export default {
class="mt-20" class="mt-20"
required required
/> />
<Banner
v-for="(err, i) in errors"
:key="i"
:label="err"
color="error"
/>
</template> </template>
<template #actions> <template #actions>
@ -156,11 +162,6 @@ export default {
@click="save" @click="save"
/> />
</div> </div>
<Banner
v-for="(err, i) in errors"
:key="i"
/>
</div> </div>
</template> </template>
</Card> </Card>

View File

@ -103,6 +103,12 @@ export default {
:label="t('generic.name')" :label="t('generic.name')"
required required
/> />
<Banner
v-for="(err, i) in errors"
:key="i"
color="error"
:label="err"
/>
</template> </template>
<template #actions> <template #actions>
@ -121,13 +127,6 @@ export default {
@click="save" @click="save"
/> />
</div> </div>
<Banner
v-for="(err, i) in errors"
:key="i"
color="error"
:label="err"
/>
</div> </div>
</template> </template>
</Card> </Card>

View File

@ -120,6 +120,12 @@ export default {
v-model:value="description" v-model:value="description"
:label="t('harvester.modal.createTemplate.description')" :label="t('harvester.modal.createTemplate.description')"
/> />
<Banner
v-for="(err, i) in errors"
:key="i"
color="error"
:label="err"
/>
</template> </template>
<template #actions> <template #actions>
@ -138,11 +144,6 @@ export default {
@click="save" @click="save"
/> />
</div> </div>
<Banner
v-for="(err, i) in errors"
:key="i"
/>
</div> </div>
</template> </template>
</Card> </Card>

View File

@ -128,6 +128,12 @@ export default {
<Banner color="warning"> <Banner color="warning">
<span>{{ t('harvester.modal.ejectCDROM.warnTip') }}</span> <span>{{ t('harvester.modal.ejectCDROM.warnTip') }}</span>
</Banner> </Banner>
<Banner
v-for="(err, i) in errors"
:key="i"
color="error"
:label="err"
/>
</template> </template>
<template #actions> <template #actions>
@ -147,13 +153,6 @@ export default {
@click="remove" @click="remove"
/> />
</div> </div>
<Banner
v-for="(err, i) in errors"
:key="i"
color="error"
:label="err"
/>
</div> </div>
</template> </template>
</Card> </Card>

View File

@ -187,6 +187,12 @@ export default {
class="mt-20" class="mt-20"
required required
/> />
<Banner
v-for="(err, i) in errors"
:key="i"
color="error"
:label="err"
/>
</template> </template>
<template #actions> <template #actions>
@ -205,11 +211,6 @@ export default {
@click="save" @click="save"
/> />
</div> </div>
<Banner
v-for="(err, i) in errors"
:key="i"
/>
</div> </div>
</template> </template>
</Card> </Card>

View File

@ -122,16 +122,15 @@ export default {
</Banner> </Banner>
{{ t('harvester.modal.downloadImage.startMessage') }} {{ t('harvester.modal.downloadImage.startMessage') }}
<br /><br /> <br /><br />
</template>
<template #actions>
<Banner <Banner
v-for="(err, i) in errors" v-for="(err, i) in errors"
:key="i" :key="i"
color="error" color="error"
> :label="err"
{{ err }} />
</Banner> </template>
<template #actions>
<div class="actions"> <div class="actions">
<div class="buttons"> <div class="buttons">
<button <button

View File

@ -161,6 +161,12 @@ export default {
:placeholder="t('harvester.modal.migration.fields.nodeName.placeholder')" :placeholder="t('harvester.modal.migration.fields.nodeName.placeholder')"
:options="nodeNameList" :options="nodeNameList"
/> />
<Banner
v-for="(err, i) in errors"
:key="i"
color="error"
:label="err"
/>
</template> </template>
<template <template
@ -181,12 +187,6 @@ export default {
@click="apply" @click="apply"
/> />
</div> </div>
<Banner
v-for="(err, i) in errors"
:key="i"
color="error"
:label="err"
/>
</template> </template>
</Card> </Card>
</template> </template>

View File

@ -96,6 +96,12 @@ export default {
:suffix="GIBIBYTE" :suffix="GIBIBYTE"
class="mb-20" class="mb-20"
/> />
<Banner
v-for="(err, i) in errors"
:key="i"
color="error"
:label="err"
/>
</template> </template>
<template #actions> <template #actions>
@ -109,12 +115,6 @@ export default {
</button> </button>
<AsyncButton @click="save" /> <AsyncButton @click="save" />
</div> </div>
<Banner
v-for="(err, i) in errors"
:key="i"
color="error"
:label="err"
/>
</div> </div>
</template> </template>
</Card> </Card>

View File

@ -136,6 +136,12 @@ export default {
:options="backupOption" :options="backupOption"
required required
/> />
<Banner
v-for="(err, i) in errors"
:key="i"
color="error"
:label="err"
/>
</template> </template>
<template #actions> <template #actions>
@ -154,11 +160,6 @@ export default {
@click="saveRestore" @click="saveRestore"
/> />
</div> </div>
<Banner
v-for="(err, i) in errors"
:key="i"
/>
</div> </div>
</template> </template>
</Card> </Card>

View File

@ -90,6 +90,12 @@ export default {
v-clean-html="t('harvester.virtualMachine.unplug.title', { name: diskName })" v-clean-html="t('harvester.virtualMachine.unplug.title', { name: diskName })"
class="text-default-text" class="text-default-text"
/> />
<Banner
v-for="(err, i) in errors"
:key="i"
color="error"
:label="err"
/>
</template> </template>
<template #actions> <template #actions>
@ -111,13 +117,6 @@ export default {
@click="save" @click="save"
/> />
</div> </div>
<Banner
v-for="(err, i) in errors"
:key="i"
color="error"
:label="err"
/>
</div> </div>
</template> </template>
</Card> </Card>

View File

@ -132,6 +132,12 @@ export default {
:label="t('generic.name')" :label="t('generic.name')"
required required
/> />
<Banner
v-for="(err, i) in errors"
:key="i"
color="error"
:label="err"
/>
</template> </template>
<template #actions> <template #actions>
@ -150,11 +156,6 @@ export default {
@click="save" @click="save"
/> />
</div> </div>
<Banner
v-for="(err, i) in errors"
:key="i"
/>
</div> </div>
</template> </template>
</Card> </Card>

View File

@ -107,6 +107,12 @@ export default {
:placeholder="t('harvester.harvesterVlanConfigMigrateDialog.targetClusterNetwork.placeholder')" :placeholder="t('harvester.harvesterVlanConfigMigrateDialog.targetClusterNetwork.placeholder')"
:options="clusterNetworks" :options="clusterNetworks"
/> />
<Banner
v-for="(err, i) in errors"
:key="i"
color="error"
:label="err"
/>
</template> </template>
<template #actions> <template #actions>
@ -125,11 +131,6 @@ export default {
@click="apply" @click="apply"
/> />
</div> </div>
<Banner
v-for="(err, i) in errors"
:key="i"
/>
</div> </div>
</template> </template>
</Card> </Card>

View File

@ -70,16 +70,16 @@ export default {
v-clean-html="t('harvester.modal.restart.tip')" v-clean-html="t('harvester.modal.restart.tip')"
class="pl-10 pr-10" class="pl-10 pr-10"
/> />
<Banner
v-for="(err, i) in errors"
:key="i"
color="error"
:label="err"
/>
</template> </template>
<template #actions> <template #actions>
<div class="bottom"> <div class="bottom">
<Banner
v-for="(err, i) in errors"
:key="i"
color="error"
:label="err"
/>
<div class="buttons"> <div class="buttons">
<button <button
class="btn role-secondary mr-10" class="btn role-secondary mr-10"

View File

@ -145,6 +145,12 @@ export default {
class="mt-20" class="mt-20"
required required
/> />
<Banner
v-for="(err, i) in errors"
:key="i"
color="error"
:label="err"
/>
</template> </template>
<template #actions> <template #actions>
@ -162,10 +168,6 @@ export default {
@click="save" @click="save"
/> />
</div> </div>
<Banner
v-for="(err, i) in errors"
:key="i"
/>
</div> </div>
</template> </template>
</Card> </Card>

View File

@ -79,6 +79,12 @@ export default {
:label="t('harvester.modal.snapshot.name')" :label="t('harvester.modal.snapshot.name')"
required required
/> />
<Banner
v-for="(err, i) in errors"
:key="i"
color="error"
:label="err"
/>
</template> </template>
<template #actions> <template #actions>
@ -96,12 +102,6 @@ export default {
@click="save" @click="save"
/> />
</div> </div>
<Banner
v-for="(err, i) in errors"
:key="i"
color="error"
:label="err"
/>
</div> </div>
</template> </template>
</Card> </Card>

View File

@ -98,6 +98,12 @@ export default {
:label="t('harvester.modal.volumeClone.name')" :label="t('harvester.modal.volumeClone.name')"
required required
/> />
<Banner
v-for="(err, i) in errors"
:key="i"
color="error"
:label="err"
/>
</template> </template>
<template #actions> <template #actions>
@ -115,10 +121,6 @@ export default {
@click="save" @click="save"
/> />
</div> </div>
<Banner
v-for="(err, i) in errors"
:key="i"
/>
</div> </div>
</template> </template>
</Card> </Card>