Proyectos de Subversion Moodle

Rev

Ir a la última revisión | Autoría | Comparar con el anterior | Ultima modificación | Ver Log |

define("theme_universe_child/loader",["jquery","core/pending"],(function($,Pending){
    "use strict";

    const rememberTabs=()=>{
        $('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;
            }
        });
    };

    const DefaultWhitelist={
        'table':[],
        'thead':[],
        'tbody':[],
        'tr':[],
        'th':[],
        'td':[]
    };

    const enablePopovers=()=>{
        $('body').popover({
            container:'body',
            selector:'[data-bs-toggle="popover"]',
            trigger:'focus',
            whitelist:Object.assign(DefaultWhitelist,{
                table:[],
                thead:[],
                tbody:[],
                tr:[],
                th:[],
                td:[],
            }),
        });

        document.addEventListener('keydown',e=>{
            if(e.key==='Escape'&&e.target.closest('[data-bs-toggle="popover"]')){
                $(e.target).popover('hide');
            }
        });
    };

    const enableTooltips=()=>{
        $('body').tooltip({
            container:'body',
            selector:'[data-bs-toggle="tooltip"]',
        });
    };

    const pendingPromise=new Pending('theme_universe_child/loader:init');

    return{
        init:function(){
            rememberTabs();
            enablePopovers();
            enableTooltips();
            pendingPromise.resolve();
        }
    };
}));