#8078 enable multi choice #848
No reviewers
Labels
No Milestone
No Assignees
2 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: verdnatura/salix-front#848
Loading…
Reference in New Issue
No description provided.
Delete Branch "8078-enableMultiSelection"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
@ -334,0 +334,4 @@
function handleSelection({ evt, added, rows: selectedRows }, rows) {
if (evt?.shiftKey && added) {
const rowIndex = selectedRows[0].$index;
Solo selecciona 1, en el unico momento en que se pueden seleccionar más, es cuando le das al checkbox para seleccionarlas todas y evt es undefined. Además, quasar siempre añade la propiedad $index.
Quasar o CrudModel?
6248a4117d/src/components/CrudModel.vue (L123)
😏@ -334,0 +335,4 @@
function handleSelection({ evt, added, rows: selectedRows }, rows) {
if (evt?.shiftKey && added) {
const rowIndex = selectedRows[0].$index;
for (const row of rows) {
Podría hacer un filter, pero creo que mejor un for para no recorrerlas todas , en caso de que hayan muchos registros.
@ -0,0 +28,4 @@
expect(vm.selected).toEqual([{ $index: 0 }, { $index: 1 }]);
});
it('should not add rows to selected when shift key is not pressed', () => {
No se añade dentro de la fn, pero si que se selecciona la fila en el evt @update:selected , se ejecuta después de @selection
@ -0,0 +36,4 @@
expect(vm.selected).toEqual([]);
});
it('should not add rows to selected when rows are not added', () => {
Si es la acción de desmarcar added está a false.
WIP: #8078 enable multi choiceto #8078 enable multi choice@ -34,3 +34,3 @@
const { dialogRef, onDialogHide, onDialogOK, onDialogCancel } =
useDialogPluginComponent();
defineExpose({ dialogRef });
Se ha quitado y se rompía el test de TicketDescriptor.
Quitar
@ -261,7 +261,7 @@ Cypress.Commands.add('openActionDescriptor', (opt) => {
});
Cypress.Commands.add('openActionsDescriptor', () => {
cy.get('.header > :nth-child(3) > .q-btn__content > .q-icon').click();
Fallaba
Lo he probado en invoiceOut y la peticion duplica el primero y el ultimo que seleccionas:
:[1,1,2,3,5,6,6],
Puedes revisarlo?
.
Listo.
@ -334,0 +338,4 @@
const selectedIndexes = new Set(selected.value.map((row) => row.$index));
for (const row of rows) {
if (row.$index == rowIndex) break;
if (!selectedIndexes.has(row.$index)) {
Así se comprueba si la fila ya está seleccionada y no se recorren todas las filas.
@ -660,3 +660,3 @@
</QMenu>
</QItem>
<QItem @click="$refs.weightDialog.show()" v-ripple clickable>
<QItem @click="$refs.weightDialog.dialogRef.show()" v-ripple clickable>
Quitar
New commits pushed, approval review dismissed automatically according to repository settings
@ -0,0 +25,4 @@
{ evt: { shiftKey: true }, added: true, rows: selectedRows },
rows
);
expect(vm.selected).toEqual([{ $index: 0 }]);
El de index 1 no lo pongo xq se añade desde el evt update:selected no desde esta fn.