mirror of
https://github.com/scinote-eln/scinote-web.git
synced 2025-10-09 13:28:53 +08:00
Fix drag n drop selection issue [SCI-11846]
This commit is contained in:
parent
61c8435a63
commit
f29b56ca27
3 changed files with 12 additions and 2 deletions
|
@ -55,6 +55,9 @@
|
||||||
:inRepository="inRepository"
|
:inRepository="inRepository"
|
||||||
:draggable="checklistItems.length > 1"
|
:draggable="checklistItems.length > 1"
|
||||||
:data-e2e="`${dataE2e}-checklistItem${element.id}`"
|
:data-e2e="`${dataE2e}-checklistItem${element.id}`"
|
||||||
|
:class="{
|
||||||
|
'select-none': reordering
|
||||||
|
}"
|
||||||
@editStart="editingItem = true"
|
@editStart="editingItem = true"
|
||||||
@editEnd="editingItem = false"
|
@editEnd="editingItem = false"
|
||||||
@update="saveItem"
|
@update="saveItem"
|
||||||
|
|
|
@ -17,12 +17,14 @@
|
||||||
:forceFallback="true"
|
:forceFallback="true"
|
||||||
:handle="'.element-grip'"
|
:handle="'.element-grip'"
|
||||||
item-key="field"
|
item-key="field"
|
||||||
|
@start="startReorder"
|
||||||
@end="endReorder"
|
@end="endReorder"
|
||||||
>
|
>
|
||||||
<template #item="{element}">
|
<template #item="{element}">
|
||||||
<div
|
<div
|
||||||
class="flex items-center gap-4 py-2.5 px-3 group/column"
|
class="flex items-center gap-4 py-2.5 px-3 group/column"
|
||||||
:class="{
|
:class="{
|
||||||
|
'select-none': reordering,
|
||||||
'hover:bg-sn-super-light-grey': element.field !== 'pinnedSeparator',
|
'hover:bg-sn-super-light-grey': element.field !== 'pinnedSeparator',
|
||||||
'!py-2.5': element.field === 'pinnedSeparator',
|
'!py-2.5': element.field === 'pinnedSeparator',
|
||||||
'text-sn-grey': (element.field !== 'pinnedSeparator' && !columnVisbile(element))
|
'text-sn-grey': (element.field !== 'pinnedSeparator' && !columnVisbile(element))
|
||||||
|
@ -77,7 +79,8 @@ export default {
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
currentTableState: {},
|
currentTableState: {},
|
||||||
columnsList: []
|
columnsList: [],
|
||||||
|
reordering: false
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
|
@ -142,7 +145,11 @@ export default {
|
||||||
...columns.slice(pinnedAmount - 1)
|
...columns.slice(pinnedAmount - 1)
|
||||||
];
|
];
|
||||||
},
|
},
|
||||||
|
startReorder() {
|
||||||
|
this.reordering = true;
|
||||||
|
},
|
||||||
endReorder(event) {
|
endReorder(event) {
|
||||||
|
this.reordering = false;
|
||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
const { newIndex } = event;
|
const { newIndex } = event;
|
||||||
const columnName = this.columnsList[newIndex].field;
|
const columnName = this.columnsList[newIndex].field;
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
<template v-if="isOpen">
|
<template v-if="isOpen">
|
||||||
<teleport to="body">
|
<teleport to="body">
|
||||||
<div ref="flyout"
|
<div ref="flyout"
|
||||||
class="fixed z-[3000] sn-menu-dropdown bg-sn-white rounded p-2.5 sn-shadow-menu-sm flex flex-col gap-[1px]"
|
class="fixed z-[3000] sn-menu-dropdown max-h-96 overflow-y-auto bg-sn-white rounded p-2.5 sn-shadow-menu-sm flex flex-col gap-[1px]"
|
||||||
:class="{
|
:class="{
|
||||||
'right-0': position === 'right',
|
'right-0': position === 'right',
|
||||||
'left-0': position === 'left',
|
'left-0': position === 'left',
|
||||||
|
|
Loading…
Add table
Reference in a new issue