UNPKG

graphdb-workbench

Version:
1 lines 1.55 kB
import{h,Host}from"@stencil/core";import{TooltipUtil}from"../../utils/tooltip-util";export class OntoTooltip{constructor(){this.clearTooltipsForRemovedElements=o=>{for(const t of o)for(const o of Array.from(t.removedNodes))if(this.removeTooltipFromNode(o))return},this.removeTooltipFromNode=o=>{if(o instanceof HTMLElement){if(TooltipUtil.getTooltipInstance(o))return TooltipUtil.destroyTooltip(o),!0;o.childNodes.forEach(this.removeTooltipFromNode)}return!1}}onMouseover(o){const t=TooltipUtil.getTooltipTarget(o.target);if(!t)return;const e=TooltipUtil.getOrCreateTooltipInstance(t);e.show(),t.hideTooltip=()=>{e.hide()}}onMouseout(o){const t=TooltipUtil.getTooltipTarget(o.target);if(!t)return;const e=o.relatedTarget;if(!e||!t.contains(e)){const o=TooltipUtil.getTooltipInstance(t);o&&"manual"===o.props.trigger&&TooltipUtil.destroyTooltip(t)}}connectedCallback(){this.handleRemovedNodes()}disconnectedCallback(){var o;null===(o=this.observer)||void 0===o||o.disconnect()}render(){return h(Host,{key:"9b797bae73df060bdecef74fb84a90fb61ac6eef"})}handleRemovedNodes(){this.observer=new MutationObserver(this.clearTooltipsForRemovedElements),this.observer.observe(document.body,{childList:!0,subtree:!0})}static get is(){return"onto-tooltip"}static get originalStyleUrls(){return{$:["onto-tooltip.scss"]}}static get styleUrls(){return{$:["onto-tooltip.css"]}}static get listeners(){return[{name:"mouseover",method:"onMouseover",target:"document",capture:!1,passive:!0},{name:"mouseout",method:"onMouseout",target:"document",capture:!1,passive:!0}]}}