123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277 |
- /**
- Demo script to handle the theme demo
- **/
- var Demo = function () {
- // Handle Theme Settings
- var handleTheme = function () {
- var panel = $('.theme-panel');
- if ($('body').hasClass('page-boxed') === false) {
- $('.layout-option', panel).val("fluid");
- }
- $('.sidebar-option', panel).val("default");
- $('.page-header-option', panel).val("fixed");
- $('.page-footer-option', panel).val("default");
- if ($('.sidebar-pos-option').attr("disabled") === false) {
- $('.sidebar-pos-option', panel).val(Metronic.isRTL() ? 'right' : 'left');
- }
- //handle theme layout
- var resetLayout = function () {
- $("body").
- removeClass("page-boxed").
- removeClass("page-footer-fixed").
- removeClass("page-sidebar-fixed").
- removeClass("page-header-fixed").
- removeClass("page-sidebar-reversed");
- $('.page-header > .page-header-inner').removeClass("container");
- if ($('.page-container').parent(".container").size() === 1) {
- $('.page-container').insertAfter('body > .clearfix');
- }
- if ($('.page-footer > .container').size() === 1) {
- $('.page-footer').html($('.page-footer > .container').html());
- } else if ($('.page-footer').parent(".container").size() === 1) {
- $('.page-footer').insertAfter('.page-container');
- $('.scroll-to-top').insertAfter('.page-footer');
- }
- $(".top-menu > .navbar-nav > li.dropdown").removeClass("dropdown-dark");
- $('body > .container').remove();
- };
- var lastSelectedLayout = '';
- var setLayout = function () {
- var layoutOption = $('.layout-option', panel).val();
- var sidebarOption = $('.sidebar-option', panel).val();
- var headerOption = $('.page-header-option', panel).val();
- var footerOption = $('.page-footer-option', panel).val();
- var sidebarPosOption = $('.sidebar-pos-option', panel).val();
- var sidebarStyleOption = $('.sidebar-style-option', panel).val();
- var sidebarMenuOption = $('.sidebar-menu-option', panel).val();
- var headerTopDropdownStyle = $('.page-header-top-dropdown-style-option', panel).val();
- if (sidebarOption == "fixed" && headerOption == "default") {
- alert('Default Header with Fixed Sidebar option is not supported. Proceed with Fixed Header with Fixed Sidebar.');
- $('.page-header-option', panel).val("fixed");
- $('.sidebar-option', panel).val("fixed");
- sidebarOption = 'fixed';
- headerOption = 'fixed';
- }
- resetLayout(); // reset layout to default state
- if (layoutOption === "boxed") {
- $("body").addClass("page-boxed");
- // set header
- $('.page-header > .page-header-inner').addClass("container");
- var cont = $('body > .clearfix').after('<div class="container"></div>');
- // set content
- $('.page-container').appendTo('body > .container');
- // set footer
- if (footerOption === 'fixed') {
- $('.page-footer').html('<div class="container">' + $('.page-footer').html() + '</div>');
- } else {
- $('.page-footer').appendTo('body > .container');
- }
- }
- if (lastSelectedLayout != layoutOption) {
- //layout changed, run responsive handler:
- Metronic.runResizeHandlers();
- }
- lastSelectedLayout = layoutOption;
- //header
- if (headerOption === 'fixed') {
- $("body").addClass("page-header-fixed");
- $(".page-header").removeClass("navbar-static-top").addClass("navbar-fixed-top");
- } else {
- $("body").removeClass("page-header-fixed");
- $(".page-header").removeClass("navbar-fixed-top").addClass("navbar-static-top");
- }
- //sidebar
- if ($('body').hasClass('page-full-width') === false) {
- if (sidebarOption === 'fixed') {
- $("body").addClass("page-sidebar-fixed");
- $("page-sidebar-menu").addClass("page-sidebar-menu-fixed");
- $("page-sidebar-menu").removeClass("page-sidebar-menu-default");
- Layout.initFixedSidebarHoverEffect();
- } else {
- $("body").removeClass("page-sidebar-fixed");
- $("page-sidebar-menu").addClass("page-sidebar-menu-default");
- $("page-sidebar-menu").removeClass("page-sidebar-menu-fixed");
- $('.page-sidebar-menu').unbind('mouseenter').unbind('mouseleave');
- }
- }
- // top dropdown style
- if (headerTopDropdownStyle === 'dark') {
- $(".top-menu > .navbar-nav > li.dropdown").addClass("dropdown-dark");
- } else {
- $(".top-menu > .navbar-nav > li.dropdown").removeClass("dropdown-dark");
- }
- //footer
- if (footerOption === 'fixed') {
- $("body").addClass("page-footer-fixed");
- } else {
- $("body").removeClass("page-footer-fixed");
- }
- //sidebar style
- if (sidebarStyleOption === 'compact') {
- $(".page-sidebar-menu").addClass("page-sidebar-menu-compact");
- } else {
- $(".page-sidebar-menu").removeClass("page-sidebar-menu-compact");
- }
- //sidebar menu
- if (sidebarMenuOption === 'hover') {
- if (sidebarOption == 'fixed') {
- $('.sidebar-menu-option', panel).val("accordion");
- alert("Hover Sidebar Menu is not compatible with Fixed Sidebar Mode. Select Default Sidebar Mode Instead.");
- } else {
- $(".page-sidebar-menu").addClass("page-sidebar-menu-hover-submenu");
- }
- } else {
- $(".page-sidebar-menu").removeClass("page-sidebar-menu-hover-submenu");
- }
- //sidebar position
- if (Metronic.isRTL()) {
- if (sidebarPosOption === 'left') {
- $("body").addClass("page-sidebar-reversed");
- $('#frontend-link').tooltip('destroy').tooltip({
- placement: 'right'
- });
- } else {
- $("body").removeClass("page-sidebar-reversed");
- $('#frontend-link').tooltip('destroy').tooltip({
- placement: 'left'
- });
- }
- } else {
- if (sidebarPosOption === 'right') {
- $("body").addClass("page-sidebar-reversed");
- $('#frontend-link').tooltip('destroy').tooltip({
- placement: 'left'
- });
- } else {
- $("body").removeClass("page-sidebar-reversed");
- $('#frontend-link').tooltip('destroy').tooltip({
- placement: 'right'
- });
- }
- }
- Layout.fixContentHeight(); // fix content height
- Layout.initFixedSidebar(); // reinitialize fixed sidebar
- };
- // handle theme colors
- var setColor = function (color) {
- var color_ = (Metronic.isRTL() ? color + '-rtl' : color);
- $('#style_color').attr("href", Layout.getLayoutCssPath() + 'themes/' + color_ + ".css");
- };
- $('.theme-colors > li', panel).click(function () {
- var color = $(this).attr("data-theme");
- setColor(color);
- $('ul > li', panel).removeClass("active");
- $(this).addClass("active");
- if (color === 'dark') {
- $('.page-actions .btn').removeClass('red-haze').addClass('btn-default btn-transparent');
- } else {
- $('.page-actions .btn').removeClass('btn-default btn-transparent').addClass('red-haze');
- }
- });
- // set default theme options:
- if ($("body").hasClass("page-boxed")) {
- $('.layout-option', panel).val("boxed");
- }
- if ($("body").hasClass("page-sidebar-fixed")) {
- $('.sidebar-option', panel).val("fixed");
- }
- if ($("body").hasClass("page-header-fixed")) {
- $('.page-header-option', panel).val("fixed");
- }
- if ($("body").hasClass("page-footer-fixed")) {
- $('.page-footer-option', panel).val("fixed");
- }
- if ($("body").hasClass("page-sidebar-reversed")) {
- $('.sidebar-pos-option', panel).val("right");
- }
- if ($(".page-sidebar-menu").hasClass("page-sidebar-menu-light")) {
- $('.sidebar-style-option', panel).val("light");
- }
- if ($(".page-sidebar-menu").hasClass("page-sidebar-menu-hover-submenu")) {
- $('.sidebar-menu-option', panel).val("hover");
- }
- var sidebarOption = $('.sidebar-option', panel).val();
- var headerOption = $('.page-header-option', panel).val();
- var footerOption = $('.page-footer-option', panel).val();
- var sidebarPosOption = $('.sidebar-pos-option', panel).val();
- var sidebarStyleOption = $('.sidebar-style-option', panel).val();
- var sidebarMenuOption = $('.sidebar-menu-option', panel).val();
- $('.layout-option, .page-header-top-dropdown-style-option, .page-header-option, .sidebar-option, .page-footer-option, .sidebar-pos-option, .sidebar-style-option, .sidebar-menu-option', panel).change(setLayout);
- };
- // handle theme style
- var setThemeStyle = function(style) {
- var file = (style === 'rounded' ? 'components-rounded' : 'components');
- file = (Metronic.isRTL() ? file + '-rtl' : file);
- $('#style_components').attr("href", Metronic.getGlobalCssPath() + file + ".css");
- if ($.cookie) {
- $.cookie('layout-style-option', style);
- }
- };
- return {
- //main function to initiate the theme
- init: function() {
- // handles style customer tool
- handleTheme();
- // handle layout style change
- $('.theme-panel .layout-style-option').change(function() {
- setThemeStyle($(this).val());
- });
- // set layout style from cookie
- if ($.cookie && $.cookie('layout-style-option') === 'rounded') {
- setThemeStyle($.cookie('layout-style-option'));
- $('.theme-panel .layout-style-option').val($.cookie('layout-style-option'));
- }
- }
- };
- }();
|