unicorn.js 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134
  1. /**
  2. * Unicorn Admin Template
  3. * Diablo9983 -> diablo9983@gmail.com
  4. **/
  5. $(document).ready(function(){
  6. // === Sidebar navigation === //
  7. $('.submenu > a').click(function(e)
  8. {
  9. e.preventDefault();
  10. var submenu = $(this).siblings('ul');
  11. var li = $(this).parents('li');
  12. var submenus = $('#sidebar li.submenu ul');
  13. var submenus_parents = $('#sidebar li.submenu');
  14. if(li.hasClass('open'))
  15. {
  16. if(($(window).width() > 768) || ($(window).width() < 479)) {
  17. submenu.slideUp();
  18. } else {
  19. submenu.fadeOut(250);
  20. }
  21. li.removeClass('open');
  22. } else
  23. {
  24. if(($(window).width() > 768) || ($(window).width() < 479)) {
  25. submenus.slideUp();
  26. submenu.slideDown();
  27. } else {
  28. submenus.fadeOut(250);
  29. submenu.fadeIn(250);
  30. }
  31. submenus_parents.removeClass('open');
  32. li.addClass('open');
  33. }
  34. });
  35. var ul = $('#sidebar > ul');
  36. $('#sidebar > a').click(function(e)
  37. {
  38. e.preventDefault();
  39. var sidebar = $('#sidebar');
  40. if(sidebar.hasClass('open'))
  41. {
  42. sidebar.removeClass('open');
  43. ul.slideUp(250);
  44. } else
  45. {
  46. sidebar.addClass('open');
  47. ul.slideDown(250);
  48. }
  49. });
  50. // === Resize window related === //
  51. $(window).resize(function()
  52. {
  53. if($(window).width() > 479)
  54. {
  55. ul.css({'display':'block'});
  56. $('#content-header .btn-group').css({width:'auto'});
  57. }
  58. if($(window).width() < 479)
  59. {
  60. ul.css({'display':'none'});
  61. fix_position();
  62. }
  63. if($(window).width() > 768)
  64. {
  65. $('#user-nav > ul').css({width:'auto',margin:'0'});
  66. $('#content-header .btn-group').css({width:'auto'});
  67. }
  68. });
  69. if($(window).width() < 468)
  70. {
  71. ul.css({'display':'none'});
  72. fix_position();
  73. }
  74. if($(window).width() > 479)
  75. {
  76. $('#content-header .btn-group').css({width:'auto'});
  77. ul.css({'display':'block'});
  78. }
  79. // === Tooltips === //
  80. $('.tip').tooltip();
  81. $('.tip-left').tooltip({ placement: 'left' });
  82. $('.tip-right').tooltip({ placement: 'right' });
  83. $('.tip-top').tooltip({ placement: 'top' });
  84. $('.tip-bottom').tooltip({ placement: 'bottom' });
  85. // === Search input typeahead === //
  86. $('#search input[type=text]').typeahead({
  87. source: ['Dashboard','Form elements','Common Elements','Validation','Wizard','Buttons','Icons','Interface elements','Support','Calendar','Gallery','Reports','Charts','Graphs','Widgets'],
  88. items: 4
  89. });
  90. // === Fixes the position of buttons group in content header and top user navigation === //
  91. function fix_position()
  92. {
  93. var uwidth = $('#user-nav > ul').width();
  94. $('#user-nav > ul').css({width:uwidth,'margin-left':'-' + uwidth / 2 + 'px'});
  95. var cwidth = $('#content-header .btn-group').width();
  96. $('#content-header .btn-group').css({width:cwidth,'margin-left':'-' + uwidth / 2 + 'px'});
  97. }
  98. // === Style switcher === //
  99. $('#style-switcher i').click(function()
  100. {
  101. if($(this).hasClass('open'))
  102. {
  103. $(this).parent().animate({marginRight:'-=190'});
  104. $(this).removeClass('open');
  105. } else
  106. {
  107. $(this).parent().animate({marginRight:'+=190'});
  108. $(this).addClass('open');
  109. }
  110. $(this).toggleClass('icon-arrow-left');
  111. $(this).toggleClass('icon-arrow-right');
  112. });
  113. $('#style-switcher a').click(function()
  114. {
  115. var style = $(this).attr('href').replace('#','');
  116. $('.skin-color').attr('href','css/unicorn.'+style+'.css');
  117. $(this).siblings('a').css({'border-color':'transparent'});
  118. $(this).css({'border-color':'#aaaaaa'});
  119. });
  120. });