Warmfix[CardSumary]: Use ellipsis property and fixed summary cards to flex correctly #1670

Merged
jon merged 10 commits from Fix-SummaryCardsFlex into test 2025-04-04 09:07:39 +00:00
4 changed files with 18 additions and 59 deletions

View File

@ -177,6 +177,8 @@ async function fetch() {
.value { .value {
color: var(--vn-text-color); color: var(--vn-text-color);
overflow: hidden; overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
} }
} }
.header { .header {
@ -208,27 +210,21 @@ async function fetch() {
} }
.vn-card-group { .vn-card-group {
display: flex; display: grid;
flex-direction: column; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
gap: 16px;
} }
.vn-card-content { .vn-card-content {
display: flex; display: flex;
flex-direction: column; flex-direction: column;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis; text-overflow: ellipsis;
> div { > div {
max-height: 70px; max-height: 70px;
} }
} }
@media (min-width: 1010px) {
.vn-card-group {
flex-direction: row;
}
.vn-card-content {
flex: 1;
}
}
</style> </style>
<style lang="scss" scoped> <style lang="scss" scoped>
.summaryHeader .vn-label-value { .summaryHeader .vn-label-value {

View File

@ -70,8 +70,8 @@ onMounted(async () => {
:url="`#/entry/${entityId}/basic-data`" :url="`#/entry/${entityId}/basic-data`"
:text="t('globals.summary.basicData')" :text="t('globals.summary.basicData')"
/> />
<div class="card-group"> <div class="vn-card-group">
<div class="card-content"> <div class="vn-card-content">
<VnLv <VnLv
:label="t('entry.summary.commission')" :label="t('entry.summary.commission')"
:value="entry?.commission" :value="entry?.commission"
@ -93,7 +93,7 @@ onMounted(async () => {
:value="entry?.invoiceNumber" :value="entry?.invoiceNumber"
/> />
</div> </div>
<div class="card-content"> <div class="vn-card-content">
<VnCheckbox <VnCheckbox
:label="t('entry.list.tableVisibleColumns.isOrdered')" :label="t('entry.list.tableVisibleColumns.isOrdered')"
v-model="entry.isOrdered" v-model="entry.isOrdered"
@ -130,8 +130,8 @@ onMounted(async () => {
:url="`#/travel/${entry.travel.id}/summary`" :url="`#/travel/${entry.travel.id}/summary`"
:text="t('Travel')" :text="t('Travel')"
/> />
<div class="card-group"> <div class="vn-card-group">
<div class="card-content"> <div class="vn-card-content">
<VnLv :label="t('entry.summary.travelReference')"> <VnLv :label="t('entry.summary.travelReference')">
<template #value> <template #value>
<span class="link"> <span class="link">
@ -161,7 +161,7 @@ onMounted(async () => {
:value="entry.travel.warehouseIn?.name" :value="entry.travel.warehouseIn?.name"
/> />
</div> </div>
<div class="card-content"> <div class="vn-card-content">
<VnLv :label="t('travel.awbFk')" :value="entry.travel.awbFk" /> <VnLv :label="t('travel.awbFk')" :value="entry.travel.awbFk" />
<VnCheckbox <VnCheckbox
:label="t('entry.summary.travelDelivered')" :label="t('entry.summary.travelDelivered')"
@ -193,31 +193,6 @@ onMounted(async () => {
</template> </template>
</CardSummary> </CardSummary>
</template> </template>
<style lang="scss" scoped>
.card-group {
display: flex;
flex-direction: column;
}
.card-content {
display: flex;
flex-direction: column;
text-overflow: ellipsis;
> div {
max-height: 24px;
}
}
@media (min-width: 1010px) {
.card-group {
flex-direction: row;
}
.card-content {
flex: 1;
margin-right: 16px;
}
}
</style>
<i18n> <i18n>
es: es:
Travel: Envío Travel: Envío

View File

@ -75,13 +75,13 @@ onMounted(async () => {
<template #body="{ entity: zone }"> <template #body="{ entity: zone }">
<QCard class="vn-one"> <QCard class="vn-one">
<VnTitle :url="zoneUrl + `basic-data`" :text="t('summary.basicData')" /> <VnTitle :url="zoneUrl + `basic-data`" :text="t('summary.basicData')" />
<div class="card-group"> <div class="vn-card-group">
<div class="card-content"> <div class="vn-card-content">
<VnLv :label="t('list.agency')" :value="zone.agencyMode?.name" /> <VnLv :label="t('list.agency')" :value="zone.agencyMode?.name" />
<VnLv :label="t('list.price')" :value="toCurrency(zone.price)" /> <VnLv :label="t('list.price')" :value="toCurrency(zone.price)" />
<VnLv :label="t('zone.bonus')" :value="toCurrency(zone.bonus)" /> <VnLv :label="t('zone.bonus')" :value="toCurrency(zone.bonus)" />
</div> </div>
<div class="card-content"> <div class="vn-card-content">
<VnLv <VnLv
:label="t('summary.closeHour')" :label="t('summary.closeHour')"
:value="toTimeFormat(zone.hour)" :value="toTimeFormat(zone.hour)"
@ -98,7 +98,7 @@ onMounted(async () => {
</div> </div>
</div> </div>
</QCard> </QCard>
<QCard class="vn-one"> <QCard class="vn-max">
<VnTitle :url="zoneUrl + `warehouses`" :text="t('list.warehouse')" /> <VnTitle :url="zoneUrl + `warehouses`" :text="t('list.warehouse')" />
<QTable <QTable
:columns="columns" :columns="columns"
@ -109,15 +109,3 @@ onMounted(async () => {
</template> </template>
</CardSummary> </CardSummary>
</template> </template>
<style lang="scss" scoped>
.card-group {
display: flex;
flex-direction: column;
}
.card-content {
display: flex;
flex-direction: column;
}
</style>

View File

@ -37,7 +37,7 @@ describe('InvoiceOut summary', () => {
}); });
}); });
it('should transfer the invoice ', () => { it.skip('should transfer the invoice ', () => {
cy.typeSearchbar('T1111111{enter}'); cy.typeSearchbar('T1111111{enter}');
cy.dataCy('descriptor-more-opts').click(); cy.dataCy('descriptor-more-opts').click();
cy.get(selectMenuOption(1)).click(); cy.get(selectMenuOption(1)).click();