From 65e48f6194e42ba9332ed07f9e92c314ec8dee62 Mon Sep 17 00:00:00 2001 From: pablone Date: Wed, 12 Feb 2025 19:43:45 +0100 Subject: [PATCH 1/2] feat: refs #6897 refactor VnColor and EntryList components; update FormModelPopup button visibility --- src/components/FormModelPopup.vue | 27 ++++++----- src/components/VnTable/VnTable.vue | 8 ++-- src/components/common/VnColor.vue | 4 +- src/i18n/locale/en.yml | 1 + src/i18n/locale/es.yml | 1 + src/pages/Entry/Card/EntryBuys.vue | 76 +++++++++++++++++++++--------- src/pages/Entry/EntryList.vue | 12 +---- 7 files changed, 79 insertions(+), 50 deletions(-) diff --git a/src/components/FormModelPopup.vue b/src/components/FormModelPopup.vue index 30aaa35134..3ae71a3412 100644 --- a/src/components/FormModelPopup.vue +++ b/src/components/FormModelPopup.vue @@ -58,19 +58,6 @@ defineExpose({

{{ subtitle }}

- + { const isDateElement = event.target.closest('.q-date'); const isTimeElement = event.target.closest('.q-time'); + const isQselectDropDown = event.target.closest('.q-select__dropdown-icon'); - if (isDateElement || isTimeElement) return; + if (isDateElement || isTimeElement || isQselectDropDown) return; if (clickedElement === null) { destroyInput(editingRow.value, editingField.value); @@ -411,7 +412,7 @@ async function renderInput(rowId, field, clickedElement) { focusOnMount: true, eventHandlers: { 'update:modelValue': async (value) => { - if (isSelect) { + if (isSelect && value) { row[column.name] = value[column.attrs?.optionValue ?? 'id']; row[column?.name + 'TextValue'] = value[column.attrs?.optionLabel ?? 'name']; @@ -593,6 +594,7 @@ const checkbox = ref(null); @row-click="(_, row) => rowClickFunction && rowClickFunction(row)" @update:selected="emit('update:selected', $event)" @selection="(details) => handleSelection(details, rows)" + :hide-selected-banner="true" > diff --git a/test/cypress/integration/entry/entrylist.spec.js b/test/cypress/integration/entry/entryList.spec.js similarity index 98% rename from test/cypress/integration/entry/entrylist.spec.js rename to test/cypress/integration/entry/entryList.spec.js index 2eb9a70132..5e2fa0c015 100644 --- a/test/cypress/integration/entry/entrylist.spec.js +++ b/test/cypress/integration/entry/entryList.spec.js @@ -124,12 +124,12 @@ describe('Entry', () => { clickAndType('stickers', '1'); checkText('quantity', '11'); - checkText('amount', '550'); + checkText('amount', '550.00'); clickAndType('packing', '2'); checkText('packing', '12close'); - checkText('weight', '12'); + checkText('weight', '12.0'); checkText('quantity', '132'); - checkText('amount', '6600'); + checkText('amount', '6600.00'); checkColor('packing', COLORS.enabled); selectCell('groupingMode').click().click().click(); @@ -137,7 +137,7 @@ describe('Entry', () => { checkColor('grouping', COLORS.enabled); selectCell('buyingValue').click().clear().type('{backspace}{backspace}1'); - checkText('amount', '132'); + checkText('amount', '132.00'); checkColor('minPrice', COLORS.disable); selectCell('hasMinPrice').click().click(); diff --git a/test/cypress/integration/route/routeList.spec.js b/test/cypress/integration/route/routeList.spec.js index 421bdbcc8e..976ce73520 100644 --- a/test/cypress/integration/route/routeList.spec.js +++ b/test/cypress/integration/route/routeList.spec.js @@ -4,9 +4,6 @@ describe('Route', () => { cy.login('developer'); cy.visit(`/#/route/extended-list`); }); - const getVnSelect = - '> :nth-child(1) > .column > .q-field > .q-field__inner > .q-field__control > .q-field__control-container'; - const getRowColumn = (row, column) => `:nth-child(${row}) > :nth-child(${column})`; it('Route list create route', () => { cy.addBtnClick(); @@ -16,18 +13,25 @@ describe('Route', () => { }); it('Route list search and edit', () => { - cy.get('#searchbar input').type('{enter}'); /* - cy.get('td[data-col-field="description"]').click(); */ - cy.get('input[name="description"]').type('routeTestOne{enter}'); - /* cy.get('.q-table tr') + cy.get('#searchbar input').type('{enter}'); + cy.get('[data-col-field="description"][data-row-index="0"]') + .click() + .type('routeTestOne{enter}'); + cy.get('.q-table tr') .its('length') .then((rowCount) => { expect(rowCount).to.be.greaterThan(0); }); - cy.get(getRowColumn(1, 3) + getVnSelect).type('{downArrow}{enter}'); - cy.get(getRowColumn(1, 4) + getVnSelect).type('{downArrow}{enter}'); - cy.get(getRowColumn(1, 5) + getVnSelect).type('{downArrow}{enter}'); + cy.get('[data-col-field="workerFk"][data-row-index="0"]') + .click() + .type('{downArrow}{enter}'); + cy.get('[data-col-field="agencyModeFk"][data-row-index="0"]') + .click() + .type('{downArrow}{enter}'); + cy.get('[data-col-field="vehicleFk"][data-row-index="0"]') + .click() + .type('{downArrow}{enter}'); cy.get('button[title="Save"]').click(); - cy.get('.q-notification__message').should('have.text', 'Data saved'); */ + cy.get('.q-notification__message').should('have.text', 'Data saved'); }); });