1
0
mirror of https://gitee.com/coder-xiaomo/flashsale synced 2025-09-12 06:51:38 +08:00
Code Issues Projects Releases Wiki Activity GitHub Gitee

添加Metronic(作为LFS)

This commit is contained in:
2022-03-01 21:24:58 +08:00
parent 080ca33954
commit 465c454101
3280 changed files with 561969 additions and 0 deletions

View File

@@ -0,0 +1,179 @@
/**
Demo script to handle the theme demo
**/
var Demo = function () {
// Handle Theme Settings
var handleTheme = function () {
var panel = $('.theme-panel');
if ($('.page-head > .container-fluid').size() === 1) {
$('.theme-setting-layout', panel).val("fluid");
} else {
$('.theme-setting-layout', panel).val("boxed");
}
if ($('.top-menu li.dropdown.dropdown-dark').size() > 0) {
$('.theme-setting-top-menu-style', panel).val("dark");
} else {
$('.theme-setting-top-menu-style', panel).val("light");
}
if ($('body').hasClass("page-header-top-fixed")) {
$('.theme-setting-top-menu-mode', panel).val("fixed");
} else {
$('.theme-setting-top-menu-mode', panel).val("not-fixed");
}
if ($('.hor-menu.hor-menu-light').size() > 0) {
$('.theme-setting-mega-menu-style', panel).val("light");
} else {
$('.theme-setting-mega-menu-style', panel).val("dark");
}
if ($('body').hasClass("page-header-menu-fixed")) {
$('.theme-setting-mega-menu-mode', panel).val("fixed");
} else {
$('.theme-setting-mega-menu-mode', panel).val("not-fixed");
}
//handle theme layout
var resetLayout = function () {
$("body").
removeClass("page-header-top-fixed").
removeClass("page-header-menu-fixed");
$('.page-header-top > .container-fluid').removeClass("container-fluid").addClass('container');
$('.page-header-menu > .container-fluid').removeClass("container-fluid").addClass('container');
$('.page-head > .container-fluid').removeClass("container-fluid").addClass('container');
$('.page-content > .container-fluid').removeClass("container-fluid").addClass('container');
$('.page-prefooter > .container-fluid').removeClass("container-fluid").addClass('container');
$('.page-footer > .container-fluid').removeClass("container-fluid").addClass('container');
};
var setLayout = function () {
var layoutMode = $('.theme-setting-layout', panel).val();
var headerTopMenuStyle = $('.theme-setting-top-menu-style', panel).val();
var headerTopMenuMode = $('.theme-setting-top-menu-mode', panel).val();
var headerMegaMenuStyle = $('.theme-setting-mega-menu-style', panel).val();
var headerMegaMenuMode = $('.theme-setting-mega-menu-mode', panel).val();
resetLayout(); // reset layout to default state
if (layoutMode === "fluid") {
$('.page-header-top > .container').removeClass("container").addClass('container-fluid');
$('.page-header-menu > .container').removeClass("container").addClass('container-fluid');
$('.page-head > .container').removeClass("container").addClass('container-fluid');
$('.page-content > .container').removeClass("container").addClass('container-fluid');
$('.page-prefooter > .container').removeClass("container").addClass('container-fluid');
$('.page-footer > .container').removeClass("container").addClass('container-fluid');
//App.runResizeHandlers();
}
if (headerTopMenuStyle === 'dark') {
$(".top-menu > .navbar-nav > li.dropdown").addClass("dropdown-dark");
} else {
$(".top-menu > .navbar-nav > li.dropdown").removeClass("dropdown-dark");
}
if (headerTopMenuMode === 'fixed') {
$("body").addClass("page-header-top-fixed");
} else {
$("body").removeClass("page-header-top-fixed");
}
if (headerMegaMenuStyle === 'light') {
$(".hor-menu").addClass("hor-menu-light");
} else {
$(".hor-menu").removeClass("hor-menu-light");
}
if (headerMegaMenuMode === 'fixed') {
$("body").addClass("page-header-menu-fixed");
} else {
$("body").removeClass("page-header-menu-fixed");
}
};
// handle theme colors
var setColor = function (color) {
var color_ = (App.isRTL() ? color + '-rtl' : color);
$('#style_color').attr("href", Layout.getLayoutCssPath() + 'themes/' + color_ + ".min.css");
$('.page-logo img').attr("src", Layout.getLayoutImgPath() + 'logo-' + color + '.png');
};
$('.theme-colors > li', panel).click(function () {
var color = $(this).attr("data-theme");
setColor(color);
$('.theme-colors > li', panel).removeClass("active");
$(this).addClass("active");
});
$('.theme-setting-top-menu-mode', panel).change(function(){
var headerTopMenuMode = $('.theme-setting-top-menu-mode', panel).val();
var headerMegaMenuMode = $('.theme-setting-mega-menu-mode', panel).val();
if (headerMegaMenuMode === "fixed") {
alert("The top menu and mega menu can not be fixed at the same time.");
$('.theme-setting-mega-menu-mode', panel).val("not-fixed");
headerTopMenuMode = 'not-fixed';
}
});
$('.theme-setting-mega-menu-mode', panel).change(function(){
var headerTopMenuMode = $('.theme-setting-top-menu-mode', panel).val();
var headerMegaMenuMode = $('.theme-setting-mega-menu-mode', panel).val();
if (headerTopMenuMode === "fixed") {
alert("The top menu and mega menu can not be fixed at the same time.");
$('.theme-setting-top-menu-mode', panel).val("not-fixed");
headerTopMenuMode = 'not-fixed';
}
});
$('.theme-setting', panel).change(setLayout);
};
// handle theme style
var setThemeStyle = function(style) {
var file = (style === 'rounded' ? 'components-rounded' : 'components');
file = (App.isRTL() ? file + '-rtl' : file);
$('#style_components').attr("href", App.getGlobalCssPath() + file + ".min.css");
if (typeof Cookies !== "undefined") {
Cookies.set('layout-style-option', style);
}
};
return {
//main function to initiate the theme
init: function() {
// handles style customer tool
handleTheme();
// handle layout style change
$('.theme-panel .theme-setting-style').change(function() {
setThemeStyle($(this).val());
});
// set layout style from cookie
if (typeof Cookies !== "undefined" && Cookies.get('layout-style-option') === 'rounded') {
setThemeStyle(Cookies.get('layout-style-option'));
$('.theme-panel .layout-style-option').val(Cookies.get('layout-style-option'));
}
}
};
}();
if (App.isAngularJsApp() === false) {
jQuery(document).ready(function() {
Demo.init();
});
}

View File

@@ -0,0 +1 @@
var Demo=function(){var e=function(){var e=$(".theme-panel");1===$(".page-head > .container-fluid").size()?$(".theme-setting-layout",e).val("fluid"):$(".theme-setting-layout",e).val("boxed"),$(".top-menu li.dropdown.dropdown-dark").size()>0?$(".theme-setting-top-menu-style",e).val("dark"):$(".theme-setting-top-menu-style",e).val("light"),$("body").hasClass("page-header-top-fixed")?$(".theme-setting-top-menu-mode",e).val("fixed"):$(".theme-setting-top-menu-mode",e).val("not-fixed"),$(".hor-menu.hor-menu-light").size()>0?$(".theme-setting-mega-menu-style",e).val("light"):$(".theme-setting-mega-menu-style",e).val("dark"),$("body").hasClass("page-header-menu-fixed")?$(".theme-setting-mega-menu-mode",e).val("fixed"):$(".theme-setting-mega-menu-mode",e).val("not-fixed");var t=function(){$("body").removeClass("page-header-top-fixed").removeClass("page-header-menu-fixed"),$(".page-header-top > .container-fluid").removeClass("container-fluid").addClass("container"),$(".page-header-menu > .container-fluid").removeClass("container-fluid").addClass("container"),$(".page-head > .container-fluid").removeClass("container-fluid").addClass("container"),$(".page-content > .container-fluid").removeClass("container-fluid").addClass("container"),$(".page-prefooter > .container-fluid").removeClass("container-fluid").addClass("container"),$(".page-footer > .container-fluid").removeClass("container-fluid").addClass("container")},a=function(){var a=$(".theme-setting-layout",e).val(),n=$(".theme-setting-top-menu-style",e).val(),o=$(".theme-setting-top-menu-mode",e).val(),i=$(".theme-setting-mega-menu-style",e).val(),s=$(".theme-setting-mega-menu-mode",e).val();t(),"fluid"===a&&($(".page-header-top > .container").removeClass("container").addClass("container-fluid"),$(".page-header-menu > .container").removeClass("container").addClass("container-fluid"),$(".page-head > .container").removeClass("container").addClass("container-fluid"),$(".page-content > .container").removeClass("container").addClass("container-fluid"),$(".page-prefooter > .container").removeClass("container").addClass("container-fluid"),$(".page-footer > .container").removeClass("container").addClass("container-fluid")),"dark"===n?$(".top-menu > .navbar-nav > li.dropdown").addClass("dropdown-dark"):$(".top-menu > .navbar-nav > li.dropdown").removeClass("dropdown-dark"),"fixed"===o?$("body").addClass("page-header-top-fixed"):$("body").removeClass("page-header-top-fixed"),"light"===i?$(".hor-menu").addClass("hor-menu-light"):$(".hor-menu").removeClass("hor-menu-light"),"fixed"===s?$("body").addClass("page-header-menu-fixed"):$("body").removeClass("page-header-menu-fixed")},n=function(e){var t=App.isRTL()?e+"-rtl":e;$("#style_color").attr("href",Layout.getLayoutCssPath()+"themes/"+t+".min.css"),$(".page-logo img").attr("src",Layout.getLayoutImgPath()+"logo-"+e+".png")};$(".theme-colors > li",e).click(function(){var t=$(this).attr("data-theme");n(t),$(".theme-colors > li",e).removeClass("active"),$(this).addClass("active")}),$(".theme-setting-top-menu-mode",e).change(function(){var t=$(".theme-setting-top-menu-mode",e).val(),a=$(".theme-setting-mega-menu-mode",e).val();"fixed"===a&&(alert("The top menu and mega menu can not be fixed at the same time."),$(".theme-setting-mega-menu-mode",e).val("not-fixed"),t="not-fixed")}),$(".theme-setting-mega-menu-mode",e).change(function(){var t=$(".theme-setting-top-menu-mode",e).val();$(".theme-setting-mega-menu-mode",e).val();"fixed"===t&&(alert("The top menu and mega menu can not be fixed at the same time."),$(".theme-setting-top-menu-mode",e).val("not-fixed"),t="not-fixed")}),$(".theme-setting",e).change(a)},t=function(e){var t="rounded"===e?"components-rounded":"components";t=App.isRTL()?t+"-rtl":t,$("#style_components").attr("href",App.getGlobalCssPath()+t+".min.css"),"undefined"!=typeof Cookies&&Cookies.set("layout-style-option",e)};return{init:function(){e(),$(".theme-panel .theme-setting-style").change(function(){t($(this).val())}),"undefined"!=typeof Cookies&&"rounded"===Cookies.get("layout-style-option")&&(t(Cookies.get("layout-style-option")),$(".theme-panel .layout-style-option").val(Cookies.get("layout-style-option")))}}}();App.isAngularJsApp()===!1&&jQuery(document).ready(function(){Demo.init()});

View File

@@ -0,0 +1,313 @@
/**
Core script to handle the entire theme and core functions
**/
var Layout = function () {
var layoutImgPath = '/public/admin/layout/img/';
var layoutCssPath = '/public/admin/layout/css/';
var resBreakpointMd = App.getResponsiveBreakpoint('md');
//* BEGIN:CORE HANDLERS *//
// this function handles responsive layout on screen size resize or mobile device rotate.
// Handles header
var handleHeader = function () {
// handle search box expand/collapse
$('.page-header').on('click', '.search-form', function (e) {
$(this).addClass("open");
$(this).find('.form-control').focus();
$('.page-header .search-form .form-control').on('blur', function (e) {
$(this).closest('.search-form').removeClass("open");
$(this).unbind("blur");
});
});
// handle hor menu search form on enter press
$('.page-header').on('keypress', '.hor-menu .search-form .form-control', function (e) {
if (e.which == 13) {
$(this).closest('.search-form').submit();
return false;
}
});
// handle header search button click
$('.page-header').on('mousedown', '.search-form.open .submit', function (e) {
e.preventDefault();
e.stopPropagation();
$(this).closest('.search-form').submit();
});
// handle scrolling to top on responsive menu toggler click when header is fixed for mobile view
$('body').on('click', '.page-header-top-fixed .page-header-top .menu-toggler', function(){
App.scrollTop();
});
};
// Handles main menu
var handleMainMenu = function () {
// handle menu toggler icon click
$(".page-header .menu-toggler").on("click", function(event) {
if (App.getViewPort().width < resBreakpointMd) {
var menu = $(".page-header .page-header-menu");
if (menu.is(":visible")) {
menu.slideUp(300);
} else {
menu.slideDown(300);
}
if ($('body').hasClass('page-header-top-fixed')) {
App.scrollTop();
}
}
});
// handle sub dropdown menu click for mobile devices only
$(".hor-menu .menu-dropdown > a, .hor-menu .dropdown-submenu > a").on("click", function(e) {
if (App.getViewPort().width < resBreakpointMd) {
if ($(this).next().hasClass('dropdown-menu')) {
e.stopPropagation();
if ($(this).parent().hasClass("opened")) {
$(this).parent().removeClass("opened");
} else {
$(this).parent().addClass("opened");
}
}
}
});
// handle hover dropdown menu for desktop devices only
if (App.getViewPort().width >= resBreakpointMd) {
$('.hor-menu [data-hover="megamenu-dropdown"]').not('.hover-initialized').each(function() {
$(this).dropdownHover();
$(this).addClass('hover-initialized');
});
}
// handle auto scroll to selected sub menu node on mobile devices
$(document).on('click', '.hor-menu .menu-dropdown > a[data-hover="megamenu-dropdown"]', function() {
if (App.getViewPort().width < resBreakpointMd) {
App.scrollTo($(this));
}
});
// close main menu on final link click for mobile mode
$(".hor-menu li > a").on("click", function(e) {
if (App.getViewPort().width < resBreakpointMd) {
if (!$(this).parent('li').hasClass('classic-menu-dropdown') && !$(this).parent('li').hasClass('mega-menu-dropdown')
&& !$(this).parent('li').hasClass('dropdown-submenu')) {
$(".page-header .page-header-menu").slideUp(300);
App.scrollTop();
}
}
});
// hold mega menu content open on click/tap.
$(document).on('click', '.mega-menu-dropdown .dropdown-menu, .classic-menu-dropdown .dropdown-menu', function (e) {
e.stopPropagation();
});
// handle fixed mega menu(minimized)
$(window).scroll(function() {
var offset = 75;
if ($('body').hasClass('page-header-menu-fixed')) {
if ($(window).scrollTop() > offset){
$(".page-header-menu").addClass("fixed");
} else {
$(".page-header-menu").removeClass("fixed");
}
}
if ($('body').hasClass('page-header-top-fixed')) {
if ($(window).scrollTop() > offset){
$(".page-header-top").addClass("fixed");
} else {
$(".page-header-top").removeClass("fixed");
}
}
});
};
// Handle sidebar menu links
var handleMainMenuActiveLink = function(mode, el) {
var url = location.hash.toLowerCase();
var menu = $('.hor-menu');
if (mode === 'click' || mode === 'set') {
el = $(el);
} else if (mode === 'match') {
menu.find("li > a").each(function() {
var path = $(this).attr("href").toLowerCase();
// url match condition
if (path.length > 1 && url.substr(1, path.length - 1) == path.substr(1)) {
el = $(this);
return;
}
});
}
if (!el || el.size() == 0) {
return;
}
if (el.attr('href').toLowerCase() === 'javascript:;' || el.attr('href').toLowerCase() === '#') {
return;
}
// disable active states
menu.find('li.active').removeClass('active');
menu.find('li > a > .selected').remove();
menu.find('li.open').removeClass('open');
el.parents('li').each(function () {
$(this).addClass('active');
if ($(this).parent('ul.navbar-nav').size() === 1) {
$(this).find('> a').append('<span class="selected"></span>');
}
});
};
// Handles main menu on window resize
var handleMainMenuOnResize = function() {
// handle hover dropdown menu for desktop devices only
var width = App.getViewPort().width;
var menu = $(".page-header-menu");
if (width >= resBreakpointMd && menu.data('breakpoint') !== 'desktop') {
// reset active states
$('.hor-menu [data-toggle="dropdown"].active').removeClass('open');
menu.data('breakpoint', 'desktop');
$('.hor-menu [data-hover="megamenu-dropdown"]').not('.hover-initialized').each(function() {
$(this).dropdownHover();
$(this).addClass('hover-initialized');
});
$('.hor-menu .navbar-nav li.open').removeClass('open');
$(".page-header-menu").css("display", "block");
} else if (width < resBreakpointMd && menu.data('breakpoint') !== 'mobile') {
// set active states as open
$('.hor-menu [data-toggle="dropdown"].active').addClass('open');
menu.data('breakpoint', 'mobile');
// disable hover bootstrap dropdowns plugin
$('.hor-menu [data-hover="megamenu-dropdown"].hover-initialized').each(function() {
$(this).unbind('hover');
$(this).parent().unbind('hover').find('.dropdown-submenu').each(function() {
$(this).unbind('hover');
});
$(this).removeClass('hover-initialized');
});
} else if (width < resBreakpointMd) {
//$(".page-header-menu").css("display", "none");
}
};
var handleContentHeight = function() {
var height;
if ($('body').height() < App.getViewPort().height) {
height = App.getViewPort().height -
$('.page-header').outerHeight() -
($('.page-container').outerHeight() - $('.page-content').outerHeight()) -
$('.page-prefooter').outerHeight() -
$('.page-footer').outerHeight();
$('.page-content').css('min-height', height);
}
};
// Handles the go to top button at the footer
var handleGoTop = function () {
var offset = 100;
var duration = 500;
if (navigator.userAgent.match(/iPhone|iPad|iPod/i)) { // ios supported
$(window).bind("touchend touchcancel touchleave", function(e){
if ($(this).scrollTop() > offset) {
$('.scroll-to-top').fadeIn(duration);
} else {
$('.scroll-to-top').fadeOut(duration);
}
});
} else { // general
$(window).scroll(function() {
if ($(this).scrollTop() > offset) {
$('.scroll-to-top').fadeIn(duration);
} else {
$('.scroll-to-top').fadeOut(duration);
}
});
}
$('.scroll-to-top').click(function(e) {
e.preventDefault();
$('html, body').animate({scrollTop: 0}, duration);
return false;
});
};
//* END:CORE HANDLERS *//
return {
// Main init methods to initialize the layout
// IMPORTANT!!!: Do not modify the core handlers call order.
initHeader: function() {
handleHeader(); // handles horizontal menu
handleMainMenu(); // handles menu toggle for mobile
App.addResizeHandler(handleMainMenuOnResize); // handle main menu on window resize
if (App.isAngularJsApp()) {
handleMainMenuActiveLink('match'); // init sidebar active links
}
},
initContent: function() {
handleContentHeight(); // handles content height
},
initFooter: function() {
handleGoTop(); //handles scroll to top functionality in the footer
},
init: function () {
this.initHeader();
this.initContent();
this.initFooter();
},
setMainMenuActiveLink: function(mode, el) {
handleMainMenuActiveLink(mode, el);
},
closeMainMenu: function() {
$('.hor-menu').find('li.open').removeClass('open');
if (App.getViewPort().width < resBreakpointMd && $('.page-header-menu').is(":visible")) { // close the menu on mobile view while laoding a page
$('.page-header .menu-toggler').click();
}
},
getLayoutImgPath: function() {
return App.getAssetsPath() + layoutImgPath;
},
getLayoutCssPath: function() {
return App.getAssetsPath() + layoutCssPath;
}
};
}();
if (App.isAngularJsApp() === false) {
jQuery(document).ready(function() {
Layout.init(); // init metronic core componets
});
}

File diff suppressed because one or more lines are too long