Rev 1463 | Autoría | Comparar con el anterior | Ultima modificación | Ver Log |
define(['jquery','core/pending'],function($,Pending){
"use strict";
var rememberTabs=function(){
$('a[data-bs-toggle="tab"]').on('shown.bs.tab',function(e){
var hash=$(e.target).attr('href');
if(history.replaceState){
history.replaceState(null,null,hash);
}else{
location.hash=hash;
}
});
};
var DefaultWhitelist={
'table':[],
'thead':[],
'tbody':[],
'tr':[],
'th':[],
'td':[]
};
var enablePopovers=function(){
if(typeof $.fn.popover!=='undefined'){
$('body').popover({
container:'body',
selector:'[data-bs-toggle="popover"]',
trigger:'focus'
});
}
document.addEventListener('keydown',function(e){
if(e.key==='Escape'&&e.target.closest('[data-bs-toggle="popover"]')){
$(e.target).popover('hide');
}
});
};
var enableTooltips=function(){
if(typeof $.fn.tooltip!=='undefined'){
$('body').tooltip({
container:'body',
selector:'[data-bs-toggle="tooltip"]'
});
}
};
var enableDropdowns=function(){
// Inicializar dropdowns manualmente si Bootstrap 5 no está disponible
$('[data-bs-toggle="dropdown"]').on('click',function(e){
e.preventDefault();
var $this=$(this);
var $menu=$this.siblings('.dropdown-menu');
// Cerrar otros dropdowns abiertos
$('.dropdown-menu').not($menu).removeClass('show');
// Toggle del dropdown actual
$menu.toggleClass('show');
// Cerrar al hacer clic fuera
$(document).on('click.dropdown',function(event){
if(!$this.is(event.target)&&!$menu.is(event.target)&&$menu.has(event.target).length===0){
$menu.removeClass('show');
$(document).off('click.dropdown');
}
});
});
};
return{
init:function(){
var pendingPromise=new Pending('theme_universe_child/loader:init');
$(document).ready(function(){
rememberTabs();
enablePopovers();
enableTooltips();
enableDropdowns();
pendingPromise.resolve();
});
}
};
});