UNPKG

mt.bootstraplazyloader

Version:

Lazy Loader for Bootstrap Tabs,Pills and Modals,This package adds lazyloading option to bootstrap tabs,pills, and Modals so content will load when the user clicks it.

1 lines 4.56 kB
var MTLazyloader=function(){return{OpenModal:function(n,t,i,r,u,f,e){var s=r,l,h,o;s===undefined||s===null?s="LazyloadModal":s+="Modal";l=f;h="#LazyloadModalContent";u!==undefined&&u!==null&&(h="#"+u);var a=t,y=i,v=e,c="<!--Lazyloaded Modal --><div class='modal "+(MTLazyloadBootstrapVersion!==4?"fade":"")+"' id='"+s+"' role='dialog' aria-labelledby='"+s+"'><div class='modal-dialog "+y+"' role='document'><div class='modal-content'><div class='modal-header'>";MTLazyloadBootstrapVersion===4&&(c+="<h5 class='modal-title'>"+a+"<\/h5>");(l===undefined||l==="false")&&(c+="<button type='button' class='close' data-dismiss='modal' aria-label='Close'><span aria-hidden='true'>&times;<\/span><\/button>");MTLazyloadBootstrapVersion!==4&&(c+="<h4 class='modal-title' id='LazyloadModalLabel'>"+a+"<\/h4>");c+="<\/div><div id='"+h.substr(1)+"'><\/div><\/div><\/div><\/div>";o=$("#"+s);o.length===0?($("body").append(c),o=$("#"+s)):$("body").append(o);$(o).find(h).html("");$.get(n,function(n){$(o).find(h).html(n);l==undefined?$(o).modal("show"):$(o).modal({keyboard:!1,backdrop:"static"})}).fail(function(){$(o).find(h).html('<div class="alert alert-danger"><i class="fa fa-exclamation-triangle"><\/i> Error!!!<\/div>');$(o).modal("show")}).done(function(){v&&eval(v)}).always(function(){})}}}(),MTLazyloadBootstrapVersion=3;$(function(){$(document).on("shown.bs.tab",'.nav-tabs.lazyload a[data-toggle="tab"]:not(.loaded)',function(n){var t=$(n.target).attr("href"),i=$(n.target).data("url"),r=$(n.target).data("callback"),u;i&&($(t).html('<div class="text-center"><i class="fa fa-spin fa-spinner fa-2x text-muted"><\/i><\/div>'),u=$(this),$.get(i,function(n){$(t).html(n);$(u).addClass("loaded")}).fail(function(){$(t).html('<div class="alert alert-danger"><i class="fa fa-exclamation-triangle"><\/i> Error!!!<\/div>')}).done(function(){r&&eval(r)}))});$(document).on("shown.bs.tab",'.nav-pills.lazyload a[data-toggle="pill"]:not(.loaded)',function(n){var t=$(n.target).attr("href"),i=$(n.target).data("url"),r=$(n.target).data("callback"),u;i&&($(t).html('<div class="text-center"><i class="fa fa-spin fa-spinner fa-2x text-muted"><\/i><\/div>'),u=$(this),$.get(i,function(n){$(t).html(n);$(u).addClass("loaded")}).fail(function(){$(t).html('<div class="alert alert-danger"><i class="fa fa-exclamation-triangle"><\/i> Error!!!<\/div>')}).done(function(){r&&eval(r)}))});$(document).on("click",".lazyload.showModal",function(n){var t=$(this),e=$(t).data("url"),c,r,h,i;$(this).prop("tagName")==="A"&&e===undefined&&(n.preventDefault(),e=$(t).attr("href"));c='<i class="fa fa-spin fa-spinner fa-lg text-info modal-loader"><\/i>';r=$(t).attr("id");r===undefined?r="LazyloadModal":r+="Modal";var o=$(t).data("closedisabled"),f=$(t).data("headerTemplate"),v=$(t).data("size"),s="<!--Lazyloaded Modal --><div class='modal "+(MTLazyloadBootstrapVersion!==4?"fade":"")+"' id='"+r+"' role='dialog' aria-labelledby='"+r+"'><div class='modal-dialog "+v+"' role='document'><div class='modal-content'><div class='modal-header'>",u="",l=f!==undefined&&f.length>0,a=$(t).data("header");MTLazyloadBootstrapVersion===4&&(u=l?$(f).html():"<h5 class='modal-title'>"+a+"<\/h5>");(o===undefined||o==="false")&&(u+="<button type='button' class='close' data-dismiss='modal' aria-label='Close'><span aria-hidden='true'>&times;<\/span><\/button>");MTLazyloadBootstrapVersion!==4&&(l?u=$(f).html():u+="<h4 class='modal-title' id='LazyloadModalLabel'>"+a+"<\/h4>");s+=u;s+="<\/div><div id='LazyloadModalContent'><\/div><\/div><\/div><\/div>";h=$(t).data("callback");i=$("#"+r);i.length===0?($("body").append(s),i=$("#"+r)):$("body").append(i);$(i).find("#LazyloadModalContent").html("");$(t).append(c);$.get(e,function(n){$(i).find("#LazyloadModalContent").html(n);o===undefined?$(i).modal("show"):$(i).modal({keyboard:!1,backdrop:"static"})}).fail(function(){$(i).find("#LazyloadModalContent").html('<div class="alert alert-danger"><i class="fa fa-exclamation-triangle"><\/i> Error!!!<\/div>');$(i).modal("show")}).done(function(){h&&eval(h)}).always(function(){$(t).find(".modal-loader").remove()})});$(document).on("shown.bs.collapse",".lazyload.collapse:not(.loaded)",function(n){var t=$(n.target),i=$(n.target).data("url"),r=$(n.target).data("callback"),u;i&&($(t).html('<div class="text-center"><i class="fa fa-spin fa-spinner fa-2x text-muted"><\/i><\/div>'),u=$(this),$.get(i,function(n){$(t).html(n);$(u).addClass("loaded")}).fail(function(){$(t).html('<div class="alert alert-danger"><i class="fa fa-exclamation-triangle"><\/i> Error!!!<\/div>')}).done(function(){r&&eval(r)}))})});