|
|
@@ -2,6 +2,7 @@ import DateComponent from '../component/DateComponent'
|
|
|
import { listenBySelector } from '../util/dom-event'
|
|
|
import { getElSeg } from '../component/renderers/EventRenderer'
|
|
|
import EventApi from '../api/EventApi'
|
|
|
+import { elementClosest } from '../util/dom-manip'
|
|
|
|
|
|
/*
|
|
|
Detects when the user clicks on an event within a DateComponent
|
|
|
@@ -27,6 +28,12 @@ export default class EventClicking {
|
|
|
let seg = getElSeg(segEl)!
|
|
|
|
|
|
if (component.isValidSegDownEl(ev.target as HTMLElement)) {
|
|
|
+
|
|
|
+ // our way to simulate a link click for elements that can't be <a> tags
|
|
|
+ // grab before trigger fired in case trigger trashes DOM thru rerendering
|
|
|
+ let hasUrlContainer = elementClosest(ev.target as HTMLElement, '.fc-has-url')
|
|
|
+ let url = hasUrlContainer ? (hasUrlContainer.querySelector('a[href]') as any).href : ''
|
|
|
+
|
|
|
component.publiclyTrigger('eventClick', [
|
|
|
{
|
|
|
event: new EventApi(
|
|
|
@@ -38,6 +45,10 @@ export default class EventClicking {
|
|
|
view: component.view
|
|
|
}
|
|
|
])
|
|
|
+
|
|
|
+ if (url && !ev.defaultPrevented) {
|
|
|
+ window.location.href = url
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
|