Server IP : 80.87.202.40 / Your IP : 216.73.216.169 Web Server : Apache System : Linux rospirotorg.ru 5.14.0-539.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Dec 5 22:26:13 UTC 2024 x86_64 User : bitrix ( 600) PHP Version : 8.2.27 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /home/bitrix/ext_www/rospirotorg.ru/bitrix/js/ui/tooltip/src/ |
Upload File : |
import { Browser, Event, Type } from 'main.core'; import { Interceptor } from './intercept'; import { Tooltip } from './tooltip.js'; import { TooltipBalloon } from './balloon.js'; import './css/style.css'; Event.ready(() => { if ( Browser.isAndroid() || Browser.isIOS() ) { return; } Event.bind(document, 'mouseover', (e) => { const node = e.target; if (!Type.isElementNode(node)) { return; } const userId = node.getAttribute('bx-tooltip-user-id'); const loader = node.getAttribute('bx-tooltip-loader'); const context = node.getAttribute('bx-tooltip-context'); if ( Type.isStringFilled(context) && Interceptor.try(context, userId, node) ) { return; } let tooltipId = userId; // don't use integer value! if (Type.isStringFilled(loader)) { let loaderHash = 0; [...loader].forEach((c, i) => { loaderHash = (31 * loaderHash + loader.charCodeAt(i)) << 0; }); tooltipId = loaderHash + userId; } if (Type.isStringFilled(userId)) { if (null == Tooltip.tooltipsList[tooltipId]) { Tooltip.tooltipsList[tooltipId] = new TooltipBalloon({ userId: userId, node: node, loader: loader, }); } else { Tooltip.tooltipsList[tooltipId].node = node; Tooltip.tooltipsList[tooltipId].create(); } e.preventDefault(); } }); }); export { Tooltip, TooltipBalloon, };