demo.js 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203
  1. /**
  2. * AdminLTE Demo Menu
  3. * ------------------
  4. * You should not use this file in production.
  5. * This file is for demo purposes only.
  6. */
  7. (function ($) {
  8. 'use strict'
  9. var $sidebar = $('.control-sidebar')
  10. var $container = $('<div />', {
  11. class: 'p-3 control-sidebar-content'
  12. })
  13. $sidebar.append($container)
  14. var navbar_dark_skins = [
  15. 'navbar-primary',
  16. 'navbar-secondary',
  17. 'navbar-info',
  18. 'navbar-success',
  19. 'navbar-danger',
  20. 'navbar-indigo',
  21. 'navbar-purple',
  22. 'navbar-pink',
  23. 'navbar-teal',
  24. 'navbar-cyan',
  25. 'navbar-dark',
  26. 'navbar-gray-dark',
  27. 'navbar-gray',
  28. ]
  29. var navbar_light_skins = [
  30. 'navbar-light',
  31. 'navbar-warning',
  32. 'navbar-white',
  33. 'navbar-orange',
  34. ]
  35. $container.append(
  36. '<h5>Customize AdminLTE</h5><hr class="mb-2"/>'
  37. + '<h6>Navbar Variants</h6>'
  38. )
  39. var $navbar_variants = $('<div />', {
  40. 'class': 'd-flex'
  41. })
  42. var navbar_all_colors = navbar_dark_skins.concat(navbar_light_skins)
  43. var $navbar_variants_colors = createSkinBlock(navbar_all_colors, function (e) {
  44. var color = $(this).data('color')
  45. var $main_header = $('.main-header')
  46. $main_header.removeClass('navbar-dark').removeClass('navbar-light')
  47. navbar_all_colors.map(function (color) {
  48. $main_header.removeClass(color)
  49. })
  50. if (navbar_dark_skins.indexOf(color) > -1) {
  51. $main_header.addClass('navbar-dark')
  52. } else {
  53. $main_header.addClass('navbar-light')
  54. }
  55. $main_header.addClass(color)
  56. })
  57. $navbar_variants.append($navbar_variants_colors)
  58. $container.append($navbar_variants)
  59. var $checkbox_container = $('<div />', {
  60. 'class': 'mb-4'
  61. })
  62. var $navbar_border = $('<input />', {
  63. type : 'checkbox',
  64. value : 1,
  65. checked: $('.main-header').hasClass('border-bottom'),
  66. 'class': 'mr-1'
  67. }).on('click', function () {
  68. if ($(this).is(':checked')) {
  69. $('.main-header').addClass('border-bottom')
  70. } else {
  71. $('.main-header').removeClass('border-bottom')
  72. }
  73. })
  74. $checkbox_container.append($navbar_border)
  75. $checkbox_container.append('<span>Navbar border</span>')
  76. $container.append($checkbox_container)
  77. var sidebar_colors = [
  78. 'bg-primary',
  79. 'bg-warning',
  80. 'bg-info',
  81. 'bg-danger',
  82. 'bg-success'
  83. ]
  84. var sidebar_skins = [
  85. 'sidebar-dark-primary',
  86. 'sidebar-dark-warning',
  87. 'sidebar-dark-info',
  88. 'sidebar-dark-danger',
  89. 'sidebar-dark-success',
  90. 'sidebar-light-primary',
  91. 'sidebar-light-warning',
  92. 'sidebar-light-info',
  93. 'sidebar-light-danger',
  94. 'sidebar-light-success'
  95. ]
  96. $container.append('<h6>Dark Sidebar Variants</h6>')
  97. var $sidebar_variants = $('<div />', {
  98. 'class': 'd-flex'
  99. })
  100. $container.append($sidebar_variants)
  101. $container.append(createSkinBlock(sidebar_colors, function () {
  102. var color = $(this).data('color')
  103. var sidebar_class = 'sidebar-dark-' + color.replace('bg-', '')
  104. var $sidebar = $('.main-sidebar')
  105. sidebar_skins.map(function (skin) {
  106. $sidebar.removeClass(skin)
  107. })
  108. $sidebar.addClass(sidebar_class)
  109. }))
  110. $container.append('<h6>Light Sidebar Variants</h6>')
  111. var $sidebar_variants = $('<div />', {
  112. 'class': 'd-flex'
  113. })
  114. $container.append($sidebar_variants)
  115. $container.append(createSkinBlock(sidebar_colors, function () {
  116. var color = $(this).data('color')
  117. var sidebar_class = 'sidebar-light-' + color.replace('bg-', '')
  118. var $sidebar = $('.main-sidebar')
  119. sidebar_skins.map(function (skin) {
  120. $sidebar.removeClass(skin)
  121. })
  122. $sidebar.addClass(sidebar_class)
  123. }))
  124. var logo_skins = navbar_all_colors
  125. $container.append('<h6>Brand Logo Variants</h6>')
  126. var $logo_variants = $('<div />', {
  127. 'class': 'd-flex'
  128. })
  129. $container.append($logo_variants)
  130. var $clear_btn = $('<a />', {
  131. href: 'javascript:void(0)'
  132. }).text('clear').on('click', function () {
  133. var $logo = $('.brand-link')
  134. logo_skins.map(function (skin) {
  135. $logo.removeClass(skin)
  136. })
  137. })
  138. $container.append(createSkinBlock(logo_skins, function () {
  139. var color = $(this).data('color')
  140. var $logo = $('.brand-link')
  141. logo_skins.map(function (skin) {
  142. $logo.removeClass(skin)
  143. })
  144. $logo.addClass(color)
  145. }).append($clear_btn))
  146. function createSkinBlock(colors, callback) {
  147. var $block = $('<div />', {
  148. 'class': 'd-flex flex-wrap mb-3'
  149. })
  150. colors.map(function (color) {
  151. var $color = $('<div />', {
  152. 'class': (typeof color === 'object' ? color.join(' ') : color) + ' elevation-2'
  153. })
  154. $block.append($color)
  155. $color.data('color', color)
  156. $color.css({
  157. width : '40px',
  158. height : '20px',
  159. borderRadius: '25px',
  160. marginRight : 10,
  161. marginBottom: 10,
  162. opacity : 0.8,
  163. cursor : 'pointer'
  164. })
  165. $color.hover(function () {
  166. $(this).css({ opacity: 1 }).removeClass('elevation-2').addClass('elevation-4')
  167. }, function () {
  168. $(this).css({ opacity: 0.8 }).removeClass('elevation-4').addClass('elevation-2')
  169. })
  170. if (callback) {
  171. $color.on('click', callback)
  172. }
  173. })
  174. return $block
  175. }
  176. })(jQuery)