Fix mousedown event
parent
298874cb7d
commit
854c3362a2
|
@ -62,7 +62,7 @@
|
||||||
:class="cx('item', { item, id: `${id}_${i}` })"
|
:class="cx('item', { item, id: `${id}_${i}` })"
|
||||||
@click="onItemClick($event, item, i)"
|
@click="onItemClick($event, item, i)"
|
||||||
@touchend="onItemTouchEnd"
|
@touchend="onItemTouchEnd"
|
||||||
@mousedown="onOptionMouseDown(i)"
|
@mousedown="onOptionMouseDown($event, i)"
|
||||||
@mousemove="onOptionMouseMove(i)"
|
@mousemove="onOptionMouseMove(i)"
|
||||||
:aria-selected="isSelected(item)"
|
:aria-selected="isSelected(item)"
|
||||||
v-bind="getPTOptions(item, 'item', i)"
|
v-bind="getPTOptions(item, 'item', i)"
|
||||||
|
@ -188,9 +188,10 @@ export default {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
onOptionMouseDown(index) {
|
onOptionMouseDown(event, index) {
|
||||||
this.focused = true;
|
this.focused = true;
|
||||||
this.focusedOptionIndex = index;
|
this.focusedOptionIndex = `${this.id}_${index}`;
|
||||||
|
event.preventDefault();
|
||||||
},
|
},
|
||||||
onOptionMouseMove(index) {
|
onOptionMouseMove(index) {
|
||||||
if (this.focusOnHover && this.focused) {
|
if (this.focusOnHover && this.focused) {
|
||||||
|
@ -455,10 +456,9 @@ export default {
|
||||||
const selectedIndex = ObjectUtils.findIndexInList(item, this.d_selection);
|
const selectedIndex = ObjectUtils.findIndexInList(item, this.d_selection);
|
||||||
const selected = selectedIndex != -1;
|
const selected = selectedIndex != -1;
|
||||||
const metaSelection = this.itemTouched ? false : this.metaKeySelection;
|
const metaSelection = this.itemTouched ? false : this.metaKeySelection;
|
||||||
|
|
||||||
const selectedId = this.findAllItems()[index].getAttribute('id');
|
const selectedId = this.findAllItems()[index].getAttribute('id');
|
||||||
|
|
||||||
this.focusedOptionIndex = event?.type === 'click' ? -1 : selectedId;
|
this.focusedOptionIndex = selectedId;
|
||||||
|
|
||||||
if (metaSelection) {
|
if (metaSelection) {
|
||||||
const metaKey = event.metaKey || event.ctrlKey;
|
const metaKey = event.metaKey || event.ctrlKey;
|
||||||
|
|
|
@ -70,7 +70,7 @@
|
||||||
@click="onItemClick($event, item, i, 0)"
|
@click="onItemClick($event, item, i, 0)"
|
||||||
@dblclick="onItemDblClick($event, item, 0)"
|
@dblclick="onItemDblClick($event, item, 0)"
|
||||||
@touchend="onItemTouchEnd"
|
@touchend="onItemTouchEnd"
|
||||||
@mousedown="onOptionMouseDown(i, 'sourceList')"
|
@mousedown="onOptionMouseDown($event, i, 'sourceList')"
|
||||||
@mousemove="onOptionMouseMove(i, 'sourceList')"
|
@mousemove="onOptionMouseMove(i, 'sourceList')"
|
||||||
role="option"
|
role="option"
|
||||||
:aria-selected="isSelected(item, 0)"
|
:aria-selected="isSelected(item, 0)"
|
||||||
|
@ -162,7 +162,7 @@
|
||||||
@click="onItemClick($event, item, i, 1)"
|
@click="onItemClick($event, item, i, 1)"
|
||||||
@dblclick="onItemDblClick($event, item, 1)"
|
@dblclick="onItemDblClick($event, item, 1)"
|
||||||
@keydown="onItemKeyDown($event, 'targetList')"
|
@keydown="onItemKeyDown($event, 'targetList')"
|
||||||
@mousedown="onOptionMouseDown(i, 'targetList')"
|
@mousedown="onOptionMouseDown($event, i, 'targetList')"
|
||||||
@mousemove="onOptionMouseMove(i, 'targetList')"
|
@mousemove="onOptionMouseMove(i, 'targetList')"
|
||||||
@touchend="onItemTouchEnd"
|
@touchend="onItemTouchEnd"
|
||||||
role="option"
|
role="option"
|
||||||
|
@ -311,9 +311,10 @@ export default {
|
||||||
this.focusedOptionIndex = -1;
|
this.focusedOptionIndex = -1;
|
||||||
this.$emit('blur', event);
|
this.$emit('blur', event);
|
||||||
},
|
},
|
||||||
onOptionMouseDown(index, listType) {
|
onOptionMouseDown(event, index, listType) {
|
||||||
this.focused[listType] = true;
|
this.focused[listType] = true;
|
||||||
this.focusedOptionIndex = index;
|
this.focusedOptionIndex = index;
|
||||||
|
event.preventDefault();
|
||||||
},
|
},
|
||||||
onOptionMouseMove(index, listType) {
|
onOptionMouseMove(index, listType) {
|
||||||
if (this.focusOnHover && this.focused[listType]) {
|
if (this.focusOnHover && this.focused[listType]) {
|
||||||
|
@ -582,7 +583,7 @@ export default {
|
||||||
const metaSelection = this.itemTouched ? false : this.metaKeySelection;
|
const metaSelection = this.itemTouched ? false : this.metaKeySelection;
|
||||||
const selectedId = DomHandler.find(this.$refs[listType].$el, '[data-pc-section="item"]')[index].getAttribute('id');
|
const selectedId = DomHandler.find(this.$refs[listType].$el, '[data-pc-section="item"]')[index].getAttribute('id');
|
||||||
|
|
||||||
this.focusedOptionIndex = event?.type === 'click' ? -1 : selectedId;
|
this.focusedOptionIndex = selectedId;
|
||||||
let _selection;
|
let _selection;
|
||||||
|
|
||||||
if (metaSelection) {
|
if (metaSelection) {
|
||||||
|
|
Loading…
Reference in New Issue