This commit is contained in:
root
2025-11-13 19:52:28 +03:00
parent 8aeeb05b7d
commit 807dec3b6c
4646 changed files with 163445 additions and 626017 deletions

View File

@@ -73,21 +73,43 @@ this.BX.Vue3 = this.BX.Vue3 || {};
* @subpackage ui
* @copyright 2001-2025 Bitrix
*/
const handlersMap = new WeakMap();
const hint = {
async mounted(element, {
mounted(element, {
value
}) {
var _getParams$interactiv;
if (!value) {
return;
}
main_core.Event.bind(element, 'mouseenter', () => onMouseEnter(element, getParams(value)));
const isInteractive = (_getParams$interactiv = getParams(value).interactivity) != null ? _getParams$interactiv : false;
main_core.Event.bind(element, 'mouseleave', () => hideTooltip(isInteractive));
main_core.Event.bind(element, 'click', () => hideTooltip());
updateEvents(element, value);
},
updated(element, {
value
}) {
updateEvents(element, value);
},
beforeUnmount(element) {
unbindEvents(element);
}
};
let showTimeout = null;
function updateEvents(element, params) {
unbindEvents(element);
if (params) {
const handlers = {
mouseenter: () => onMouseEnter(element, getParams(params)),
mouseleave: () => {
var _getParams$interactiv;
return hideTooltip((_getParams$interactiv = getParams(params).interactivity) != null ? _getParams$interactiv : false);
},
click: () => hideTooltip()
};
handlersMap.set(element, handlers);
Object.entries(handlers).forEach(([event, handler]) => main_core.Event.bind(element, event, handler));
}
}
function unbindEvents(element) {
var _handlersMap$get;
Object.entries((_handlersMap$get = handlersMap.get(element)) != null ? _handlersMap$get : {}).forEach(([event, handler]) => main_core.Event.unbind(element, event, handler));
handlersMap.delete(element);
}
function onMouseEnter(element, params) {
var _params$timeout;
clearTimeouts();

File diff suppressed because one or more lines are too long

View File

@@ -1 +1 @@
{"version":3,"file":"hint.bundle.map.js","names":["this","BX","Vue3","exports","ui_hint","main_core","main_popup","_","t","_t","_getText","babelHelpers","classPrivateFieldLooseKey","Tooltip","constructor","Object","defineProperty","value","_getText2","popup","cursorOnPopup","show","element","params","_params$popupOptions","_this$popup","hide","popupOptions","id","Date","now","bindElement","bindOptions","position","content","Tag","render","classPrivateFieldLooseBase","darkMode","autoHide","cacheable","animation","Popup","interactivity","getPopupContainer","Event","bind","isInteractive","setTimeout","close","_this$popup2","Type","isStringFilled","isUndefined","dataset","hintHtml","Text","encode","html","text","tooltip","hint","mounted","_getParams$interactiv","onMouseEnter","getParams","hideTooltip","showTimeout","_params$timeout","clearTimeouts","showTooltip","timeout","clearTimeout","isFunction","Directives","Main"],"sources":["hint.bundle.js"],"mappings":"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","ignoreList":[]}
{"version":3,"file":"hint.bundle.map.js","names":["this","BX","Vue3","exports","ui_hint","main_core","main_popup","_","t","_t","_getText","babelHelpers","classPrivateFieldLooseKey","Tooltip","constructor","Object","defineProperty","value","_getText2","popup","cursorOnPopup","show","element","params","_params$popupOptions","_this$popup","hide","popupOptions","id","Date","now","bindElement","bindOptions","position","content","Tag","render","classPrivateFieldLooseBase","darkMode","autoHide","cacheable","animation","Popup","interactivity","getPopupContainer","Event","bind","isInteractive","setTimeout","close","_this$popup2","Type","isStringFilled","isUndefined","dataset","hintHtml","Text","encode","html","text","tooltip","handlersMap","WeakMap","hint","mounted","updateEvents","updated","beforeUnmount","unbindEvents","showTimeout","handlers","mouseenter","onMouseEnter","getParams","mouseleave","_getParams$interactiv","hideTooltip","click","set","entries","forEach","event","handler","_handlersMap$get","get","unbind","delete","_params$timeout","clearTimeouts","showTooltip","timeout","clearTimeout","isFunction","Directives","Main"],"sources":["hint.bundle.js"],"mappings":"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","ignoreList":[]}

View File

@@ -1,11 +1,11 @@
this.BX=this.BX||{};this.BX.Vue3=this.BX.Vue3||{};(function(e,t,i,n){"use strict";let o=e=>e,s;var u=babelHelpers.classPrivateFieldLooseKey("getText");class p{constructor(){Object.defineProperty(this,u,{value:r});this.popup=null;this.cursorOnPopup=false}show(e,t){var p,r;this.hide(false);const l={id:`bx-vue-hint-${Date.now()}`,bindElement:e,bindOptions:{position:t.position==="top"?"top":"bottom"},content:i.Tag.render(s||(s=o`
this.BX=this.BX||{};this.BX.Vue3=this.BX.Vue3||{};(function(e,t,n,i){"use strict";let o=e=>e,s;var u=babelHelpers.classPrivateFieldLooseKey("getText");class p{constructor(){Object.defineProperty(this,u,{value:r});this.popup=null;this.cursorOnPopup=false}show(e,t){var p,r;this.hide(false);const l={id:`bx-vue-hint-${Date.now()}`,bindElement:e,bindOptions:{position:t.position==="top"?"top":"bottom"},content:n.Tag.render(s||(s=o`
<span class='ui-hint-content'>${0}</span>
`),babelHelpers.classPrivateFieldLooseBase(this,u)[u](e,t)),darkMode:true,autoHide:true,cacheable:false,animation:"fading",...(p=t.popupOptions)!=null?p:null};this.popup=new n.Popup(l);this.popup.show();if(t.interactivity&&(r=this.popup)!=null&&r.getPopupContainer()){i.Event.bind(this.popup.getPopupContainer(),"mouseenter",(()=>{this.cursorOnPopup=true}));i.Event.bind(this.popup.getPopupContainer(),"mouseleave",(()=>{this.cursorOnPopup=false;this.hide(true)}))}}hide(e){if(e){setTimeout((()=>{if(this.popup&&this.popup.getPopupContainer()&&!this.cursorOnPopup){this.popup.close()}}),100)}else{var t;(t=this.popup)==null?void 0:t.close()}}}function r(e,t){if(i.Type.isStringFilled(t)&&i.Type.isUndefined(e.dataset.hintHtml)){return i.Text.encode(t)}return t.html||i.Text.encode(t.text)||t}const l=new p;
`),babelHelpers.classPrivateFieldLooseBase(this,u)[u](e,t)),darkMode:true,autoHide:true,cacheable:false,animation:"fading",...(p=t.popupOptions)!=null?p:null};this.popup=new i.Popup(l);this.popup.show();if(t.interactivity&&(r=this.popup)!=null&&r.getPopupContainer()){n.Event.bind(this.popup.getPopupContainer(),"mouseenter",(()=>{this.cursorOnPopup=true}));n.Event.bind(this.popup.getPopupContainer(),"mouseleave",(()=>{this.cursorOnPopup=false;this.hide(true)}))}}hide(e){if(e){setTimeout((()=>{if(this.popup&&this.popup.getPopupContainer()&&!this.cursorOnPopup){this.popup.close()}}),100)}else{var t;(t=this.popup)==null?void 0:t.close()}}}function r(e,t){if(n.Type.isStringFilled(t)&&n.Type.isUndefined(e.dataset.hintHtml)){return n.Text.encode(t)}return t.html||n.Text.encode(t.text)||t}const l=new p;
/**
* Hint Vue directive
*
* @package bitrix
* @subpackage ui
* @copyright 2001-2025 Bitrix
*/const a={async mounted(e,{value:t}){var n;if(!t){return}i.Event.bind(e,"mouseenter",(()=>h(e,b(t))));const o=(n=b(t).interactivity)!=null?n:false;i.Event.bind(e,"mouseleave",(()=>v(o)));i.Event.bind(e,"click",(()=>v()))}};let c=null;function h(e,t){var i;f();c=setTimeout((()=>d(e,t)),(i=t.timeout)!=null?i:0)}function d(e,t){f();l.show(e,t)}function v(e){f();l.hide(e)}function f(){clearTimeout(c)}function b(e){return i.Type.isFunction(e)?e():e}e.hint=a})(this.BX.Vue3.Directives=this.BX.Vue3.Directives||{},BX,BX,BX.Main);
*/const a=new WeakMap;const c={mounted(e,{value:t}){d(e,t)},updated(e,{value:t}){d(e,t)},beforeUnmount(e){f(e)}};let h=null;function d(e,t){f(e);if(t){const i={mouseenter:()=>v(e,B(t)),mouseleave:()=>{var e;return m((e=B(t).interactivity)!=null?e:false)},click:()=>m()};a.set(e,i);Object.entries(i).forEach((([t,i])=>n.Event.bind(e,t,i)))}}function f(e){var t;Object.entries((t=a.get(e))!=null?t:{}).forEach((([t,i])=>n.Event.unbind(e,t,i)));a.delete(e)}function v(e,t){var n;P();h=setTimeout((()=>b(e,t)),(n=t.timeout)!=null?n:0)}function b(e,t){P();l.show(e,t)}function m(e){P();l.hide(e)}function P(){clearTimeout(h)}function B(e){return n.Type.isFunction(e)?e():e}e.hint=c})(this.BX.Vue3.Directives=this.BX.Vue3.Directives||{},BX,BX,BX.Main);
//# sourceMappingURL=hint.bundle.map.js

View File

@@ -22,23 +22,47 @@ import 'ui.hint';
import { tooltip, type HintParams } from './tooltip';
export type { HintParams };
export const hint = {
async mounted(element: HTMLElement, { value }: { value: HintParams | Function }): Promise<void>
{
if (!value)
{
return;
}
const handlersMap = new WeakMap();
Event.bind(element, 'mouseenter', () => onMouseEnter(element, getParams(value)));
const isInteractive = getParams(value).interactivity ?? false;
Event.bind(element, 'mouseleave', () => hideTooltip(isInteractive));
Event.bind(element, 'click', () => hideTooltip());
export const hint = {
mounted(element: HTMLElement, { value }: { value: HintParams | Function }): void
{
updateEvents(element, value);
},
updated(element: HTMLElement, { value }: { value: HintParams | Function }): void
{
updateEvents(element, value);
},
beforeUnmount(element: HTMLElement): void
{
unbindEvents(element);
},
};
let showTimeout = null;
function updateEvents(element: HTMLElement, params: HintParams | Function): void
{
unbindEvents(element);
if (params)
{
const handlers = {
mouseenter: () => onMouseEnter(element, getParams(params)),
mouseleave: () => hideTooltip(getParams(params).interactivity ?? false),
click: () => hideTooltip(),
};
handlersMap.set(element, handlers);
Object.entries(handlers).forEach(([event, handler]) => Event.bind(element, event, handler));
}
}
function unbindEvents(element: HTMLElement): void
{
Object.entries(handlersMap.get(element) ?? {}).forEach(([event, handler]) => Event.unbind(element, event, handler));
handlersMap.delete(element);
}
function onMouseEnter(element: HTMLElement, params: HintParams): void
{
clearTimeouts();