| 20958 | } |
| 20959 | let watchableTarget = null; |
| 20960 | const handler = (event2) => { |
| 20961 | const eventTarget = domHelpers.getTargetNode(event2); |
| 20962 | const targetNode = domHelpers.closest(eventTarget, config.selector); |
| 20963 | if (domHelpers.isChildOf(eventTarget, this.tooltip.getNode())) { |
| 20964 | return; |
| 20965 | } |
| 20966 | const doOnMouseEnter = () => { |
| 20967 | watchableTarget = targetNode; |
| 20968 | config.onmouseenter(event2, targetNode); |
| 20969 | }; |
| 20970 | if (scheduler2._mobile && scheduler2.config.touch_tooltip) { |
| 20971 | if (targetNode) { |
| 20972 | doOnMouseEnter(); |
| 20973 | } else { |
| 20974 | config.onmouseleave(event2, targetNode); |
| 20975 | } |
| 20976 | } |
| 20977 | if (watchableTarget) { |
| 20978 | if (targetNode && targetNode === watchableTarget) { |
| 20979 | config.onmousemove(event2, targetNode); |
| 20980 | } else { |
| 20981 | config.onmouseleave(event2, watchableTarget); |
| 20982 | watchableTarget = null; |
| 20983 | if (targetNode && targetNode !== watchableTarget) { |
| 20984 | doOnMouseEnter(); |
| 20985 | } |
| 20986 | } |
| 20987 | } else { |
| 20988 | if (targetNode) { |
| 20989 | doOnMouseEnter(); |
| 20990 | } |
| 20991 | } |
| 20992 | }; |
| 20993 | this.detach(config.selector); |
| 20994 | this._domEvents.attach(root, "mousemove", handler); |
| 20995 | this._listeners[config.selector] = { node: root, handler }; |