Position new event popover based on .fc-event for day and week view

Signed-off-by: Georg Ehrke <developer@georgehrke.com>
This commit is contained in:
Georg Ehrke 2020-01-20 17:09:55 +01:00
parent a9d3a4de5d
commit 494ab6070c
No known key found for this signature in database
GPG Key ID: 9D98FD9380A1CB43
3 changed files with 28 additions and 3 deletions

View File

@ -39,6 +39,11 @@ export default function({ event, el }) {
}
el.firstChild.appendChild(notificationIcon)
}
el.dataset.objectId = event.extendedProps.objectId
el.dataset.recurrenceId = event.extendedProps.recurrenceId
if (event.source === null) {
el.dataset.isNew = 'yes'
} else {
el.dataset.objectId = event.extendedProps.objectId
el.dataset.recurrenceId = event.extendedProps.recurrenceId
}
}

View File

@ -204,6 +204,10 @@ export default {
if (isNew) {
matchingDomObject = document.querySelector('.fc-highlight')
this.placement = 'auto'
if (!matchingDomObject) {
matchingDomObject = document.querySelector(`.fc-event[data-is-new="yes"]`)
}
} else {
const objectId = route.params.object
const recurrenceId = route.params.recurrenceId

View File

@ -23,9 +23,10 @@ import eventRender from "../../../../src/fullcalendar/eventRender.js";
describe('fullcalendar/eventRender test suite', () => {
it('should add extended properties from the event to the dataset of the dom element', () => {
it('should add extended properties from the event to the dataset of the dom element - existing event', () => {
const el = document.createElement('div')
const event = {
source: {},
extendedProps: {
objectId: 'object123',
recurrenceId: 'recurrence456',
@ -34,8 +35,23 @@ describe('fullcalendar/eventRender test suite', () => {
eventRender({ event, el })
expect(el.dataset.isNew).toEqual(undefined)
expect(el.dataset.objectId).toEqual('object123')
expect(el.dataset.recurrenceId).toEqual('recurrence456')
})
it('should add extended properties from the event to the dataset of the dom element - new event', () => {
const el = document.createElement('div')
const event = {
source: null,
extendedProps: {},
}
eventRender({ event, el })
expect(el.dataset.isNew).toEqual('yes')
expect(el.dataset.objectId).toEqual(undefined)
expect(el.dataset.recurrenceId).toEqual(undefined)
})
})