mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-25 00:24:35 +00:00
fix: correct drop time when dropping onto an existing event
This commit is contained in:
@@ -27,7 +27,8 @@ export default {
|
||||
provide() {
|
||||
return {
|
||||
flipAxis: Vue.computed(() => this.flipAxis),
|
||||
axisRow: Vue.computed(() => this.axisRow)
|
||||
axisRow: Vue.computed(() => this.axisRow),
|
||||
onDropEvent: Vue.computed(() => this.onDropEvent),
|
||||
};
|
||||
},
|
||||
props: {
|
||||
@@ -376,6 +377,13 @@ export default {
|
||||
return dropStart.startOf('day').plus(lastBlock.end);
|
||||
},
|
||||
|
||||
onDropEvent(evt, items, date)
|
||||
{
|
||||
if (this.snapToGrid)
|
||||
this.onDropSnap(evt, items, date)
|
||||
else
|
||||
this.onDropFree(evt, items, date)
|
||||
},
|
||||
onDropSnap(evt, items, date, part) {
|
||||
let obj = items;
|
||||
if (!obj?.orig) return;
|
||||
@@ -390,7 +398,7 @@ export default {
|
||||
const grabOffset = grabTime.diff(dropDay);
|
||||
|
||||
const snappedPart = blocks.find(b => grabOffset >= b.start && grabOffset < b.end) || part;
|
||||
const dropStart = dropDay.plus(snappedPart.start);
|
||||
const dropStart = snappedPart ? dropDay.plus(snappedPart.start) : grabTime;
|
||||
|
||||
let nettoDuration = this._getNettoDurationForDrop(obj);
|
||||
let dropEnd = this.calculateDropEnd(dropStart, nettoDuration);
|
||||
|
||||
@@ -35,6 +35,10 @@ export default {
|
||||
onDrop: {
|
||||
from: "onDrop",
|
||||
default: () => null
|
||||
},
|
||||
onDropEvent: {
|
||||
from: "onDropEvent",
|
||||
default: () => () => {}
|
||||
}
|
||||
},
|
||||
props: {
|
||||
@@ -128,13 +132,7 @@ export default {
|
||||
});
|
||||
}
|
||||
|
||||
return this.onDrop({
|
||||
item: [obj],
|
||||
start: this.event.start.toISO(),
|
||||
end: this.event.end.toISO(),
|
||||
ctrlKey: false,
|
||||
targetKalenderId: null
|
||||
});
|
||||
return this.onDropEvent(evt, items, this.event.start.startOf('day'));
|
||||
},
|
||||
},
|
||||
template:`
|
||||
|
||||
Reference in New Issue
Block a user