mirror of https://github.com/ColorlibHQ/AdminLTE
238 lines
11 KiB
JavaScript
238 lines
11 KiB
JavaScript
/*! AdminLTE app.js
|
|
* ================
|
|
* Main JS application file for AdminLTE v2. This file
|
|
* should be included in all pages. It controls some layout
|
|
* options and implements exclusive AdminLTE plugins.
|
|
*
|
|
* @Author Almsaeed Studio
|
|
* @Support <http://www.almsaeedstudio.com>
|
|
* @Email <support@almsaeedstudio.com>
|
|
* @version 2.3.0
|
|
* @license MIT <http://opensource.org/licenses/MIT>
|
|
*/
|
|
function _init() {
|
|
"use strict";
|
|
$.AdminLTE.layout = {
|
|
activate: function () {
|
|
var a = this;
|
|
a.fix(), a.fixSidebar(), $(window, ".wrapper").resize(function () {
|
|
a.fix(), a.fixSidebar()
|
|
})
|
|
}, fix: function () {
|
|
var a = $(".main-header").outerHeight() + $(".main-footer").outerHeight(), b = $(window).height(), c = $(".sidebar").height();
|
|
if ($("body").hasClass("fixed"))$(".content-wrapper, .right-side").css("min-height", b - $(".main-footer").outerHeight()); else {
|
|
var d;
|
|
b >= c ? ($(".content-wrapper, .right-side").css("min-height", b - a), d = b - a) : ($(".content-wrapper, .right-side").css("min-height", c), d = c);
|
|
var e = $($.AdminLTE.options.controlSidebarOptions.selector);
|
|
"undefined" != typeof e && e.height() > d && $(".content-wrapper, .right-side").css("min-height", e.height())
|
|
}
|
|
}, fixSidebar: function () {
|
|
return $("body").hasClass("fixed") ? ("undefined" == typeof $.fn.slimScroll && window.console && window.console.error("Error: the fixed layout requires the slimscroll plugin!"), void($.AdminLTE.options.sidebarSlimScroll && "undefined" != typeof $.fn.slimScroll && ($(".sidebar").slimScroll({destroy: !0}).height("auto"), $(".sidebar").slimscroll({
|
|
height: $(window).height() - $(".main-header").height() + "px",
|
|
color: "rgba(0,0,0,0.2)",
|
|
size: "3px"
|
|
})))) : void("undefined" != typeof $.fn.slimScroll && $(".sidebar").slimScroll({destroy: !0}).height("auto"))
|
|
}
|
|
}, $.AdminLTE.pushMenu = {
|
|
activate: function (a) {
|
|
var b = $.AdminLTE.options.screenSizes;
|
|
$(a).on("click", function (a) {
|
|
a.preventDefault(), $(window).width() > b.sm - 1 ? $("body").hasClass("sidebar-collapse") ? $("body").removeClass("sidebar-collapse").trigger("expanded.pushMenu") : $("body").addClass("sidebar-collapse").trigger("collapsed.pushMenu") : $("body").hasClass("sidebar-open") ? $("body").removeClass("sidebar-open").removeClass("sidebar-collapse").trigger("collapsed.pushMenu") : $("body").addClass("sidebar-open").trigger("expanded.pushMenu")
|
|
}), $(".content-wrapper").click(function () {
|
|
$(window).width() <= b.sm - 1 && $("body").hasClass("sidebar-open") && $("body").removeClass("sidebar-open")
|
|
}), ($.AdminLTE.options.sidebarExpandOnHover || $("body").hasClass("fixed") && $("body").hasClass("sidebar-mini")) && this.expandOnHover()
|
|
}, expandOnHover: function () {
|
|
var a = this, b = $.AdminLTE.options.screenSizes.sm - 1;
|
|
$(".main-sidebar").hover(function () {
|
|
$("body").hasClass("sidebar-mini") && $("body").hasClass("sidebar-collapse") && $(window).width() > b && a.expand()
|
|
}, function () {
|
|
$("body").hasClass("sidebar-mini") && $("body").hasClass("sidebar-expanded-on-hover") && $(window).width() > b && a.collapse()
|
|
})
|
|
}, expand: function () {
|
|
$("body").removeClass("sidebar-collapse").addClass("sidebar-expanded-on-hover")
|
|
}, collapse: function () {
|
|
$("body").hasClass("sidebar-expanded-on-hover") && $("body").removeClass("sidebar-expanded-on-hover").addClass("sidebar-collapse")
|
|
}
|
|
}, $.AdminLTE.tree = function (a) {
|
|
var b = this, c = $.AdminLTE.options.animationSpeed;
|
|
$(document).on("click", a + " li a", function (a) {
|
|
var d = $(this), e = d.next();
|
|
if (e.is(".treeview-menu") && e.is(":visible"))e.slideUp(c, function () {
|
|
e.removeClass("menu-open")
|
|
}), e.parent("li").removeClass("active"); else if (e.is(".treeview-menu") && !e.is(":visible")) {
|
|
var f = d.parents("ul").first(), g = f.find("ul:visible").slideUp(c);
|
|
g.removeClass("menu-open");
|
|
var h = d.parent("li");
|
|
e.slideDown(c, function () {
|
|
e.addClass("menu-open"), f.find("li.active").removeClass("active"), h.addClass("active"), b.layout.fix()
|
|
})
|
|
}
|
|
e.is(".treeview-menu") && a.preventDefault()
|
|
})
|
|
}, $.AdminLTE.controlSidebar = {
|
|
activate: function () {
|
|
var a = this, b = $.AdminLTE.options.controlSidebarOptions, c = $(b.selector), d = $(b.toggleBtnSelector);
|
|
d.on("click", function (d) {
|
|
d.preventDefault(), c.hasClass("control-sidebar-open") || $("body").hasClass("control-sidebar-open") ? a.close(c, b.slide) : a.open(c, b.slide)
|
|
});
|
|
var e = $(".control-sidebar-bg");
|
|
a._fix(e), $("body").hasClass("fixed") ? a._fixForFixed(c) : $(".content-wrapper, .right-side").height() < c.height() && a._fixForContent(c)
|
|
}, open: function (a, b) {
|
|
b ? a.addClass("control-sidebar-open") : $("body").addClass("control-sidebar-open")
|
|
}, close: function (a, b) {
|
|
b ? a.removeClass("control-sidebar-open") : $("body").removeClass("control-sidebar-open")
|
|
}, _fix: function (a) {
|
|
var b = this;
|
|
$("body").hasClass("layout-boxed") ? (a.css("position", "absolute"), a.height($(".wrapper").height()), $(window).resize(function () {
|
|
b._fix(a)
|
|
})) : a.css({position: "fixed", height: "auto"})
|
|
}, _fixForFixed: function (a) {
|
|
a.css({position: "fixed", "max-height": "100%", overflow: "auto", "padding-bottom": "50px"})
|
|
}, _fixForContent: function (a) {
|
|
$(".content-wrapper, .right-side").css("min-height", a.height())
|
|
}
|
|
}, $.AdminLTE.boxWidget = {
|
|
selectors: $.AdminLTE.options.boxWidgetOptions.boxWidgetSelectors,
|
|
icons: $.AdminLTE.options.boxWidgetOptions.boxWidgetIcons,
|
|
animationSpeed: $.AdminLTE.options.animationSpeed,
|
|
activate: function (a) {
|
|
var b = this;
|
|
a || (a = document), $(a).on("click", b.selectors.collapse, function (a) {
|
|
a.preventDefault(), b.collapse($(this))
|
|
}), $(a).on("click", b.selectors.remove, function (a) {
|
|
a.preventDefault(), b.remove($(this))
|
|
})
|
|
},
|
|
collapse: function (a) {
|
|
var b = this, c = a.parents(".box").first(), d = c.find("> .box-body, > .box-footer, > form >.box-body, > form > .box-footer");
|
|
c.hasClass("collapsed-box") ? (a.children(":first").removeClass(b.icons.open).addClass(b.icons.collapse), d.slideDown(b.animationSpeed, function () {
|
|
c.removeClass("collapsed-box")
|
|
})) : (a.children(":first").removeClass(b.icons.collapse).addClass(b.icons.open), d.slideUp(b.animationSpeed, function () {
|
|
c.addClass("collapsed-box")
|
|
}))
|
|
},
|
|
remove: function (a) {
|
|
var b = a.parents(".box").first();
|
|
b.slideUp(this.animationSpeed)
|
|
}
|
|
}
|
|
}
|
|
if ("undefined" == typeof jQuery)throw new Error("AdminLTE requires jQuery");
|
|
$.AdminLTE = {}, $.AdminLTE.options = {
|
|
navbarMenuSlimscroll: !0,
|
|
navbarMenuSlimscrollWidth: "3px",
|
|
navbarMenuHeight: "200px",
|
|
animationSpeed: 500,
|
|
sidebarToggleSelector: "[data-toggle='offcanvas']",
|
|
sidebarPushMenu: !0,
|
|
sidebarSlimScroll: !0,
|
|
sidebarExpandOnHover: !1,
|
|
enableBoxRefresh: !0,
|
|
enableBSToppltip: !0,
|
|
BSTooltipSelector: "[data-toggle='tooltip']",
|
|
enableFastclick: !0,
|
|
enableControlSidebar: !0,
|
|
controlSidebarOptions: {
|
|
toggleBtnSelector: "[data-toggle='control-sidebar']",
|
|
selector: ".control-sidebar",
|
|
slide: !0
|
|
},
|
|
enableBoxWidget: !0,
|
|
boxWidgetOptions: {
|
|
boxWidgetIcons: {collapse: "fa-minus", open: "fa-plus", remove: "fa-times"},
|
|
boxWidgetSelectors: {remove: '[data-widget="remove"]', collapse: '[data-widget="collapse"]'}
|
|
},
|
|
directChat: {enable: !0, contactToggleSelector: '[data-widget="chat-pane-toggle"]'},
|
|
colors: {
|
|
lightBlue: "#3c8dbc",
|
|
red: "#f56954",
|
|
green: "#00a65a",
|
|
aqua: "#00c0ef",
|
|
yellow: "#f39c12",
|
|
blue: "#0073b7",
|
|
navy: "#001F3F",
|
|
teal: "#39CCCC",
|
|
olive: "#3D9970",
|
|
lime: "#01FF70",
|
|
orange: "#FF851B",
|
|
fuchsia: "#F012BE",
|
|
purple: "#8E24AA",
|
|
maroon: "#D81B60",
|
|
black: "#222222",
|
|
gray: "#d2d6de"
|
|
},
|
|
screenSizes: {xs: 480, sm: 768, md: 992, lg: 1200}
|
|
}, $(function () {
|
|
"use strict";
|
|
$("body").removeClass("hold-transition"), "undefined" != typeof AdminLTEOptions && $.extend(!0, $.AdminLTE.options, AdminLTEOptions);
|
|
var a = $.AdminLTE.options;
|
|
_init(), $.AdminLTE.layout.activate(), $.AdminLTE.tree(".sidebar"), a.enableControlSidebar && $.AdminLTE.controlSidebar.activate(), a.navbarMenuSlimscroll && "undefined" != typeof $.fn.slimscroll && $(".navbar .menu").slimscroll({
|
|
height: a.navbarMenuHeight,
|
|
alwaysVisible: !1,
|
|
size: a.navbarMenuSlimscrollWidth
|
|
}).css("width", "100%"), a.sidebarPushMenu && $.AdminLTE.pushMenu.activate(a.sidebarToggleSelector), a.enableBSToppltip && $("body").tooltip({selector: a.BSTooltipSelector}), a.enableBoxWidget && $.AdminLTE.boxWidget.activate(), a.enableFastclick && "undefined" != typeof FastClick && FastClick.attach(document.body), a.directChat.enable && $(document).on("click", a.directChat.contactToggleSelector, function () {
|
|
var a = $(this).parents(".direct-chat").first();
|
|
a.toggleClass("direct-chat-contacts-open")
|
|
}), $('.btn-group[data-toggle="btn-toggle"]').each(function () {
|
|
var a = $(this);
|
|
$(this).find(".btn").on("click", function (b) {
|
|
a.find(".btn.active").removeClass("active"), $(this).addClass("active"), b.preventDefault()
|
|
})
|
|
})
|
|
}), function (a) {
|
|
"use strict";
|
|
a.fn.boxRefresh = function (b) {
|
|
function c(a) {
|
|
a.append(f), e.onLoadStart.call(a)
|
|
}
|
|
|
|
function d(a) {
|
|
a.find(f).remove(), e.onLoadDone.call(a)
|
|
}
|
|
|
|
var e = a.extend({
|
|
trigger: ".refresh-btn", source: "", onLoadStart: function (a) {
|
|
return a
|
|
}, onLoadDone: function (a) {
|
|
return a
|
|
}
|
|
}, b), f = a('<div class="overlay"><div class="fa fa-refresh fa-spin"></div></div>');
|
|
return this.each(function () {
|
|
if ("" === e.source)return void(window.console && window.console.log("Please specify a source first - boxRefresh()"));
|
|
var b = a(this), f = b.find(e.trigger).first();
|
|
f.on("click", function (a) {
|
|
a.preventDefault(), c(b), b.find(".box-body").load(e.source, function () {
|
|
d(b)
|
|
})
|
|
})
|
|
})
|
|
}
|
|
}(jQuery), function (a) {
|
|
"use strict";
|
|
a.fn.activateBox = function () {
|
|
a.AdminLTE.boxWidget.activate(this)
|
|
}
|
|
}(jQuery), function (a) {
|
|
"use strict";
|
|
a.fn.todolist = function (b) {
|
|
var c = a.extend({
|
|
onCheck: function (a) {
|
|
return a
|
|
}, onUncheck: function (a) {
|
|
return a
|
|
}
|
|
}, b);
|
|
return this.each(function () {
|
|
"undefined" != typeof a.fn.iCheck ? (a("input", this).on("ifChecked", function () {
|
|
var b = a(this).parents("li").first();
|
|
b.toggleClass("done"), c.onCheck.call(b)
|
|
}), a("input", this).on("ifUnchecked", function () {
|
|
var b = a(this).parents("li").first();
|
|
b.toggleClass("done"), c.onUncheck.call(b)
|
|
})) : a("input", this).on("change", function () {
|
|
var b = a(this).parents("li").first();
|
|
b.toggleClass("done"), a("input", b).is(":checked") ? c.onCheck.call(b) : c.onUncheck.call(b)
|
|
})
|
|
})
|
|
}
|
|
}(jQuery); |