350 lines
		
	
	
		
			17 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
		
		
			
		
	
	
			350 lines
		
	
	
		
			17 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
|  | /** | ||
|  |  * AdminLTE Demo Menu | ||
|  |  * ------------------ | ||
|  |  * You should not use this file in production. | ||
|  |  * This file is for demo purposes only. | ||
|  |  */ | ||
|  | $(function () { | ||
|  |   'use strict' | ||
|  | 
 | ||
|  |   /** | ||
|  |    * Get access to plugins | ||
|  |    */ | ||
|  | 
 | ||
|  |   $('[data-toggle="control-sidebar"]').controlSidebar() | ||
|  |   $('[data-toggle="push-menu"]').pushMenu() | ||
|  | 
 | ||
|  |   var $pushMenu       = $('[data-toggle="push-menu"]').data('lte.pushmenu') | ||
|  |   var $controlSidebar = $('[data-toggle="control-sidebar"]').data('lte.controlsidebar') | ||
|  |   var $layout         = $('body').data('lte.layout') | ||
|  | 
 | ||
|  |   /** | ||
|  |    * List of all the available skins | ||
|  |    * | ||
|  |    * @type Array | ||
|  |    */ | ||
|  |   var mySkins = [ | ||
|  |     'skin-blue', | ||
|  |     'skin-black', | ||
|  |     'skin-red', | ||
|  |     'skin-yellow', | ||
|  |     'skin-purple', | ||
|  |     'skin-green', | ||
|  |     'skin-blue-light', | ||
|  |     'skin-black-light', | ||
|  |     'skin-red-light', | ||
|  |     'skin-yellow-light', | ||
|  |     'skin-purple-light', | ||
|  |     'skin-green-light' | ||
|  |   ] | ||
|  | 
 | ||
|  |   /** | ||
|  |    * Get a prestored setting | ||
|  |    * | ||
|  |    * @param String name Name of of the setting | ||
|  |    * @returns String The value of the setting | null | ||
|  |    */ | ||
|  |   function get(name) { | ||
|  |     if (typeof (Storage) !== 'undefined') { | ||
|  |       return localStorage.getItem(name) | ||
|  |     } else { | ||
|  |       window.alert('Please use a modern browser to properly view this template!') | ||
|  |     } | ||
|  |   } | ||
|  | 
 | ||
|  |   /** | ||
|  |    * Store a new settings in the browser | ||
|  |    * | ||
|  |    * @param String name Name of the setting | ||
|  |    * @param String val Value of the setting | ||
|  |    * @returns void | ||
|  |    */ | ||
|  |   function store(name, val) { | ||
|  |     if (typeof (Storage) !== 'undefined') { | ||
|  |       localStorage.setItem(name, val) | ||
|  |     } else { | ||
|  |       window.alert('Please use a modern browser to properly view this template!') | ||
|  |     } | ||
|  |   } | ||
|  | 
 | ||
|  |   /** | ||
|  |    * Toggles layout classes | ||
|  |    * | ||
|  |    * @param String cls the layout class to toggle | ||
|  |    * @returns void | ||
|  |    */ | ||
|  |   function changeLayout(cls) { | ||
|  |     $('body').toggleClass(cls) | ||
|  |     $layout.fixSidebar() | ||
|  |     if ($('body').hasClass('fixed') && cls == 'fixed') { | ||
|  |       $pushMenu.expandOnHover() | ||
|  |       $layout.activate() | ||
|  |     } | ||
|  |     $controlSidebar.fix() | ||
|  |   } | ||
|  | 
 | ||
|  |   /** | ||
|  |    * Replaces the old skin with the new skin | ||
|  |    * @param String cls the new skin class | ||
|  |    * @returns Boolean false to prevent link's default action | ||
|  |    */ | ||
|  |   function changeSkin(cls) { | ||
|  |     $.each(mySkins, function (i) { | ||
|  |       $('body').removeClass(mySkins[i]) | ||
|  |     }) | ||
|  | 
 | ||
|  |     $('body').addClass(cls) | ||
|  |     store('skin', cls) | ||
|  |     return false | ||
|  |   } | ||
|  | 
 | ||
|  |   /** | ||
|  |    * Retrieve default settings and apply them to the template | ||
|  |    * | ||
|  |    * @returns void | ||
|  |    */ | ||
|  |   function setup() { | ||
|  |     var tmp = get('skin') | ||
|  |     if (tmp && $.inArray(tmp, mySkins)) | ||
|  |       changeSkin(tmp) | ||
|  | 
 | ||
|  |     // Add the change skin listener
 | ||
|  |     $('[data-skin]').on('click', function (e) { | ||
|  |       if ($(this).hasClass('knob')) | ||
|  |         return | ||
|  |       e.preventDefault() | ||
|  |       changeSkin($(this).data('skin')) | ||
|  |     }) | ||
|  | 
 | ||
|  |     // Add the layout manager
 | ||
|  |     $('[data-layout]').on('click', function () { | ||
|  |       changeLayout($(this).data('layout')) | ||
|  |     }) | ||
|  | 
 | ||
|  |     $('[data-controlsidebar]').on('click', function () { | ||
|  |       changeLayout($(this).data('controlsidebar')) | ||
|  |       var slide = !$controlSidebar.options.slide | ||
|  | 
 | ||
|  |       $controlSidebar.options.slide = slide | ||
|  |       if (!slide) | ||
|  |         $('.control-sidebar').removeClass('control-sidebar-open') | ||
|  |     }) | ||
|  | 
 | ||
|  |     $('[data-sidebarskin="toggle"]').on('click', function () { | ||
|  |       var $sidebar = $('.control-sidebar') | ||
|  |       if ($sidebar.hasClass('control-sidebar-dark')) { | ||
|  |         $sidebar.removeClass('control-sidebar-dark') | ||
|  |         $sidebar.addClass('control-sidebar-light') | ||
|  |       } else { | ||
|  |         $sidebar.removeClass('control-sidebar-light') | ||
|  |         $sidebar.addClass('control-sidebar-dark') | ||
|  |       } | ||
|  |     }) | ||
|  | 
 | ||
|  |     $('[data-enable="expandOnHover"]').on('click', function () { | ||
|  |       $(this).attr('disabled', true) | ||
|  |       $pushMenu.expandOnHover() | ||
|  |       if (!$('body').hasClass('sidebar-collapse')) | ||
|  |         $('[data-layout="sidebar-collapse"]').click() | ||
|  |     }) | ||
|  | 
 | ||
|  |     //  Reset options
 | ||
|  |     if ($('body').hasClass('fixed')) { | ||
|  |       $('[data-layout="fixed"]').attr('checked', 'checked') | ||
|  |     } | ||
|  |     if ($('body').hasClass('layout-boxed')) { | ||
|  |       $('[data-layout="layout-boxed"]').attr('checked', 'checked') | ||
|  |     } | ||
|  |     if ($('body').hasClass('sidebar-collapse')) { | ||
|  |       $('[data-layout="sidebar-collapse"]').attr('checked', 'checked') | ||
|  |     } | ||
|  | 
 | ||
|  |   } | ||
|  | 
 | ||
|  |   // Create the new tab
 | ||
|  |   var $tabPane = $('<div />', { | ||
|  |     'id'   : 'control-sidebar-theme-demo-options-tab', | ||
|  |     'class': 'tab-pane active' | ||
|  |   }) | ||
|  | 
 | ||
|  |   // Create the tab button
 | ||
|  |   var $tabButton = $('<li />', { 'class': 'active' }) | ||
|  |     .html('<a href=\'#control-sidebar-theme-demo-options-tab\' data-toggle=\'tab\'>' | ||
|  |       + '<i class="fa fa-wrench"></i>' | ||
|  |       + '</a>') | ||
|  | 
 | ||
|  |   // Add the tab button to the right sidebar tabs
 | ||
|  |   $('[href="#control-sidebar-home-tab"]') | ||
|  |     .parent() | ||
|  |     .before($tabButton) | ||
|  | 
 | ||
|  |   // Create the menu
 | ||
|  |   var $demoSettings = $('<div />') | ||
|  | 
 | ||
|  |   // Layout options
 | ||
|  |   $demoSettings.append( | ||
|  |     '<h4 class="control-sidebar-heading">' | ||
|  |     + 'Layout Options' | ||
|  |     + '</h4>' | ||
|  |     // Fixed layout
 | ||
|  |     + '<div class="form-group">' | ||
|  |     + '<label class="control-sidebar-subheading">' | ||
|  |     + '<input type="checkbox"data-layout="fixed"class="pull-right"/> ' | ||
|  |     + 'Fixed layout' | ||
|  |     + '</label>' | ||
|  |     + '<p>Activate the fixed layout. You can\'t use fixed and boxed layouts together</p>' | ||
|  |     + '</div>' | ||
|  |     // Boxed layout
 | ||
|  |     + '<div class="form-group">' | ||
|  |     + '<label class="control-sidebar-subheading">' | ||
|  |     + '<input type="checkbox"data-layout="layout-boxed" class="pull-right"/> ' | ||
|  |     + 'Boxed Layout' | ||
|  |     + '</label>' | ||
|  |     + '<p>Activate the boxed layout</p>' | ||
|  |     + '</div>' | ||
|  |     // Sidebar Toggle
 | ||
|  |     + '<div class="form-group">' | ||
|  |     + '<label class="control-sidebar-subheading">' | ||
|  |     + '<input type="checkbox"data-layout="sidebar-collapse"class="pull-right"/> ' | ||
|  |     + 'Toggle Sidebar' | ||
|  |     + '</label>' | ||
|  |     + '<p>Toggle the left sidebar\'s state (open or collapse)</p>' | ||
|  |     + '</div>' | ||
|  |     // Sidebar mini expand on hover toggle
 | ||
|  |     + '<div class="form-group">' | ||
|  |     + '<label class="control-sidebar-subheading">' | ||
|  |     + '<input type="checkbox"data-enable="expandOnHover"class="pull-right"/> ' | ||
|  |     + 'Sidebar Expand on Hover' | ||
|  |     + '</label>' | ||
|  |     + '<p>Let the sidebar mini expand on hover</p>' | ||
|  |     + '</div>' | ||
|  |     // Control Sidebar Toggle
 | ||
|  |     + '<div class="form-group">' | ||
|  |     + '<label class="control-sidebar-subheading">' | ||
|  |     + '<input type="checkbox"data-controlsidebar="control-sidebar-open"class="pull-right"/> ' | ||
|  |     + 'Toggle Right Sidebar Slide' | ||
|  |     + '</label>' | ||
|  |     + '<p>Toggle between slide over content and push content effects</p>' | ||
|  |     + '</div>' | ||
|  |     // Control Sidebar Skin Toggle
 | ||
|  |     + '<div class="form-group">' | ||
|  |     + '<label class="control-sidebar-subheading">' | ||
|  |     + '<input type="checkbox"data-sidebarskin="toggle"class="pull-right"/> ' | ||
|  |     + 'Toggle Right Sidebar Skin' | ||
|  |     + '</label>' | ||
|  |     + '<p>Toggle between dark and light skins for the right sidebar</p>' | ||
|  |     + '</div>' | ||
|  |   ) | ||
|  |   var $skinsList = $('<ul />', { 'class': 'list-unstyled clearfix' }) | ||
|  | 
 | ||
|  |   // Dark sidebar skins
 | ||
|  |   var $skinBlue = | ||
|  |         $('<li />', { style: 'float:left; width: 33.33333%; padding: 5px;' }) | ||
|  |           .append('<a href="javascript:void(0)" data-skin="skin-blue" style="display: block; box-shadow: 0 0 3px rgba(0,0,0,0.4)" class="clearfix full-opacity-hover">' | ||
|  |             + '<div><span style="display:block; width: 20%; float: left; height: 7px; background: #367fa9"></span><span class="bg-light-blue" style="display:block; width: 80%; float: left; height: 7px;"></span></div>' | ||
|  |             + '<div><span style="display:block; width: 20%; float: left; height: 20px; background: #222d32"></span><span style="display:block; width: 80%; float: left; height: 20px; background: #f4f5f7"></span></div>' | ||
|  |             + '</a>' | ||
|  |             + '<p class="text-center no-margin">Blue</p>') | ||
|  |   $skinsList.append($skinBlue) | ||
|  |   var $skinBlack = | ||
|  |         $('<li />', { style: 'float:left; width: 33.33333%; padding: 5px;' }) | ||
|  |           .append('<a href="javascript:void(0)" data-skin="skin-black" style="display: block; box-shadow: 0 0 3px rgba(0,0,0,0.4)" class="clearfix full-opacity-hover">' | ||
|  |             + '<div style="box-shadow: 0 0 2px rgba(0,0,0,0.1)" class="clearfix"><span style="display:block; width: 20%; float: left; height: 7px; background: #fefefe"></span><span style="display:block; width: 80%; float: left; height: 7px; background: #fefefe"></span></div>' | ||
|  |             + '<div><span style="display:block; width: 20%; float: left; height: 20px; background: #222"></span><span style="display:block; width: 80%; float: left; height: 20px; background: #f4f5f7"></span></div>' | ||
|  |             + '</a>' | ||
|  |             + '<p class="text-center no-margin">Black</p>') | ||
|  |   $skinsList.append($skinBlack) | ||
|  |   var $skinPurple = | ||
|  |         $('<li />', { style: 'float:left; width: 33.33333%; padding: 5px;' }) | ||
|  |           .append('<a href="javascript:void(0)" data-skin="skin-purple" style="display: block; box-shadow: 0 0 3px rgba(0,0,0,0.4)" class="clearfix full-opacity-hover">' | ||
|  |             + '<div><span style="display:block; width: 20%; float: left; height: 7px;" class="bg-purple-active"></span><span class="bg-purple" style="display:block; width: 80%; float: left; height: 7px;"></span></div>' | ||
|  |             + '<div><span style="display:block; width: 20%; float: left; height: 20px; background: #222d32"></span><span style="display:block; width: 80%; float: left; height: 20px; background: #f4f5f7"></span></div>' | ||
|  |             + '</a>' | ||
|  |             + '<p class="text-center no-margin">Purple</p>') | ||
|  |   $skinsList.append($skinPurple) | ||
|  |   var $skinGreen = | ||
|  |         $('<li />', { style: 'float:left; width: 33.33333%; padding: 5px;' }) | ||
|  |           .append('<a href="javascript:void(0)" data-skin="skin-green" style="display: block; box-shadow: 0 0 3px rgba(0,0,0,0.4)" class="clearfix full-opacity-hover">' | ||
|  |             + '<div><span style="display:block; width: 20%; float: left; height: 7px;" class="bg-green-active"></span><span class="bg-green" style="display:block; width: 80%; float: left; height: 7px;"></span></div>' | ||
|  |             + '<div><span style="display:block; width: 20%; float: left; height: 20px; background: #222d32"></span><span style="display:block; width: 80%; float: left; height: 20px; background: #f4f5f7"></span></div>' | ||
|  |             + '</a>' | ||
|  |             + '<p class="text-center no-margin">Green</p>') | ||
|  |   $skinsList.append($skinGreen) | ||
|  |   var $skinRed = | ||
|  |         $('<li />', { style: 'float:left; width: 33.33333%; padding: 5px;' }) | ||
|  |           .append('<a href="javascript:void(0)" data-skin="skin-red" style="display: block; box-shadow: 0 0 3px rgba(0,0,0,0.4)" class="clearfix full-opacity-hover">' | ||
|  |             + '<div><span style="display:block; width: 20%; float: left; height: 7px;" class="bg-red-active"></span><span class="bg-red" style="display:block; width: 80%; float: left; height: 7px;"></span></div>' | ||
|  |             + '<div><span style="display:block; width: 20%; float: left; height: 20px; background: #222d32"></span><span style="display:block; width: 80%; float: left; height: 20px; background: #f4f5f7"></span></div>' | ||
|  |             + '</a>' | ||
|  |             + '<p class="text-center no-margin">Red</p>') | ||
|  |   $skinsList.append($skinRed) | ||
|  |   var $skinYellow = | ||
|  |         $('<li />', { style: 'float:left; width: 33.33333%; padding: 5px;' }) | ||
|  |           .append('<a href="javascript:void(0)" data-skin="skin-yellow" style="display: block; box-shadow: 0 0 3px rgba(0,0,0,0.4)" class="clearfix full-opacity-hover">' | ||
|  |             + '<div><span style="display:block; width: 20%; float: left; height: 7px;" class="bg-yellow-active"></span><span class="bg-yellow" style="display:block; width: 80%; float: left; height: 7px;"></span></div>' | ||
|  |             + '<div><span style="display:block; width: 20%; float: left; height: 20px; background: #222d32"></span><span style="display:block; width: 80%; float: left; height: 20px; background: #f4f5f7"></span></div>' | ||
|  |             + '</a>' | ||
|  |             + '<p class="text-center no-margin">Yellow</p>') | ||
|  |   $skinsList.append($skinYellow) | ||
|  | 
 | ||
|  |   // Light sidebar skins
 | ||
|  |   var $skinBlueLight = | ||
|  |         $('<li />', { style: 'float:left; width: 33.33333%; padding: 5px;' }) | ||
|  |           .append('<a href="javascript:void(0)" data-skin="skin-blue-light" style="display: block; box-shadow: 0 0 3px rgba(0,0,0,0.4)" class="clearfix full-opacity-hover">' | ||
|  |             + '<div><span style="display:block; width: 20%; float: left; height: 7px; background: #367fa9"></span><span class="bg-light-blue" style="display:block; width: 80%; float: left; height: 7px;"></span></div>' | ||
|  |             + '<div><span style="display:block; width: 20%; float: left; height: 20px; background: #f9fafc"></span><span style="display:block; width: 80%; float: left; height: 20px; background: #f4f5f7"></span></div>' | ||
|  |             + '</a>' | ||
|  |             + '<p class="text-center no-margin" style="font-size: 12px">Blue Light</p>') | ||
|  |   $skinsList.append($skinBlueLight) | ||
|  |   var $skinBlackLight = | ||
|  |         $('<li />', { style: 'float:left; width: 33.33333%; padding: 5px;' }) | ||
|  |           .append('<a href="javascript:void(0)" data-skin="skin-black-light" style="display: block; box-shadow: 0 0 3px rgba(0,0,0,0.4)" class="clearfix full-opacity-hover">' | ||
|  |             + '<div style="box-shadow: 0 0 2px rgba(0,0,0,0.1)" class="clearfix"><span style="display:block; width: 20%; float: left; height: 7px; background: #fefefe"></span><span style="display:block; width: 80%; float: left; height: 7px; background: #fefefe"></span></div>' | ||
|  |             + '<div><span style="display:block; width: 20%; float: left; height: 20px; background: #f9fafc"></span><span style="display:block; width: 80%; float: left; height: 20px; background: #f4f5f7"></span></div>' | ||
|  |             + '</a>' | ||
|  |             + '<p class="text-center no-margin" style="font-size: 12px">Black Light</p>') | ||
|  |   $skinsList.append($skinBlackLight) | ||
|  |   var $skinPurpleLight = | ||
|  |         $('<li />', { style: 'float:left; width: 33.33333%; padding: 5px;' }) | ||
|  |           .append('<a href="javascript:void(0)" data-skin="skin-purple-light" style="display: block; box-shadow: 0 0 3px rgba(0,0,0,0.4)" class="clearfix full-opacity-hover">' | ||
|  |             + '<div><span style="display:block; width: 20%; float: left; height: 7px;" class="bg-purple-active"></span><span class="bg-purple" style="display:block; width: 80%; float: left; height: 7px;"></span></div>' | ||
|  |             + '<div><span style="display:block; width: 20%; float: left; height: 20px; background: #f9fafc"></span><span style="display:block; width: 80%; float: left; height: 20px; background: #f4f5f7"></span></div>' | ||
|  |             + '</a>' | ||
|  |             + '<p class="text-center no-margin" style="font-size: 12px">Purple Light</p>') | ||
|  |   $skinsList.append($skinPurpleLight) | ||
|  |   var $skinGreenLight = | ||
|  |         $('<li />', { style: 'float:left; width: 33.33333%; padding: 5px;' }) | ||
|  |           .append('<a href="javascript:void(0)" data-skin="skin-green-light" style="display: block; box-shadow: 0 0 3px rgba(0,0,0,0.4)" class="clearfix full-opacity-hover">' | ||
|  |             + '<div><span style="display:block; width: 20%; float: left; height: 7px;" class="bg-green-active"></span><span class="bg-green" style="display:block; width: 80%; float: left; height: 7px;"></span></div>' | ||
|  |             + '<div><span style="display:block; width: 20%; float: left; height: 20px; background: #f9fafc"></span><span style="display:block; width: 80%; float: left; height: 20px; background: #f4f5f7"></span></div>' | ||
|  |             + '</a>' | ||
|  |             + '<p class="text-center no-margin" style="font-size: 12px">Green Light</p>') | ||
|  |   $skinsList.append($skinGreenLight) | ||
|  |   var $skinRedLight = | ||
|  |         $('<li />', { style: 'float:left; width: 33.33333%; padding: 5px;' }) | ||
|  |           .append('<a href="javascript:void(0)" data-skin="skin-red-light" style="display: block; box-shadow: 0 0 3px rgba(0,0,0,0.4)" class="clearfix full-opacity-hover">' | ||
|  |             + '<div><span style="display:block; width: 20%; float: left; height: 7px;" class="bg-red-active"></span><span class="bg-red" style="display:block; width: 80%; float: left; height: 7px;"></span></div>' | ||
|  |             + '<div><span style="display:block; width: 20%; float: left; height: 20px; background: #f9fafc"></span><span style="display:block; width: 80%; float: left; height: 20px; background: #f4f5f7"></span></div>' | ||
|  |             + '</a>' | ||
|  |             + '<p class="text-center no-margin" style="font-size: 12px">Red Light</p>') | ||
|  |   $skinsList.append($skinRedLight) | ||
|  |   var $skinYellowLight = | ||
|  |         $('<li />', { style: 'float:left; width: 33.33333%; padding: 5px;' }) | ||
|  |           .append('<a href="javascript:void(0)" data-skin="skin-yellow-light" style="display: block; box-shadow: 0 0 3px rgba(0,0,0,0.4)" class="clearfix full-opacity-hover">' | ||
|  |             + '<div><span style="display:block; width: 20%; float: left; height: 7px;" class="bg-yellow-active"></span><span class="bg-yellow" style="display:block; width: 80%; float: left; height: 7px;"></span></div>' | ||
|  |             + '<div><span style="display:block; width: 20%; float: left; height: 20px; background: #f9fafc"></span><span style="display:block; width: 80%; float: left; height: 20px; background: #f4f5f7"></span></div>' | ||
|  |             + '</a>' | ||
|  |             + '<p class="text-center no-margin" style="font-size: 12px">Yellow Light</p>') | ||
|  |   $skinsList.append($skinYellowLight) | ||
|  | 
 | ||
|  |   $demoSettings.append('<h4 class="control-sidebar-heading">Skins</h4>') | ||
|  |   $demoSettings.append($skinsList) | ||
|  | 
 | ||
|  |   $tabPane.append($demoSettings) | ||
|  |   $('#control-sidebar-home-tab').after($tabPane) | ||
|  | 
 | ||
|  |   setup() | ||
|  | 
 | ||
|  |   $('[data-toggle="tooltip"]').tooltip() | ||
|  | }) |