1
0
mirror of https://gitee.com/coder-xiaomo/flashsale synced 2025-02-21 15:35:18 +08:00
Code Issues Projects Releases Wiki Activity GitHub Gitee

179 lines
7.1 KiB
JavaScript

/**
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();
});
}