common.js 7.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251
  1. /*
  2. *
  3. * ADVANTAGE - Responsive Admin Theme
  4. * version 1.1
  5. *
  6. */
  7. var datetime = null,
  8. date = null;
  9. var update = function () {
  10. date = moment(new Date())
  11. datetime.html(date.format('h:mm A'));
  12. };
  13. $(window).on('load', function(){
  14. //Preloader
  15. setTimeout(function(){
  16. $('.preloader').fadeOut(400);
  17. }, 600);
  18. //Scroll for menu
  19. $(".gn-scroller").mCustomScrollbar({
  20. theme:"minimal",
  21. scrollInertia: 300
  22. });
  23. });
  24. $(function () {
  25. //Menu
  26. new gnMenu( document.getElementById( 'gn-menu' ) );
  27. //Choose Language
  28. [].slice.call( document.querySelectorAll( 'select.cs-select' ) ).forEach( function(el) {
  29. new SelectFx(el);
  30. } );
  31. //Refresh button
  32. $('.repeat-btn').click(function(e){
  33. var refreshBox = $(this).closest('div.content-box');
  34. $("<div class='refresh-preloader'><div class='la-timer la-dark'><div></div></div></div>").appendTo(refreshBox).fadeIn(300);
  35. setTimeout(function(){
  36. var refreshPreloader = refreshBox.find('.refresh-preloader'),
  37. deletedRefreshBox = refreshPreloader.fadeOut(300, function(){
  38. refreshPreloader.remove();
  39. });
  40. },1500);
  41. e.preventDefault();
  42. });
  43. //MetisMenu
  44. $('.metismenu').metisMenu();
  45. //Menu width on mobile devices
  46. function mobileMenuWidth() {
  47. $(".gn-menu-main ul.gn-menu").css("width", $(window).width() + "px");
  48. }
  49. if($(window).width() <= 422) {
  50. mobileMenuWidth();
  51. }
  52. //Smooth scrolling for body
  53. /*$("body").niceScroll({
  54. railpadding: {top:56,right:0,left:0,bottom:0},
  55. scrollspeed: 30,
  56. mousescrollstep: 60
  57. });*/
  58. //Waves effect on buttons
  59. Waves.attach('.waves', ['waves-float']);
  60. Waves.init();
  61. //Current Date
  62. var dt = new Date(),
  63. year = dt.getFullYear(),
  64. months = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],
  65. month = dt.getMonth(),
  66. days = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],
  67. day = dt.getDay(),
  68. date = dt.getDate();
  69. $('.year').append(year);
  70. $('.month').append(months[month]);
  71. $('.weekday').append(days[day]);
  72. $('.date').append(date);
  73. //Current Time
  74. datetime = $('.current-time')
  75. update();
  76. setInterval(update, 60000);
  77. //Close Content Box
  78. $('.close-btn').click(function(e){
  79. var closedBox = $(this).closest('div.content-box').remove();
  80. e.preventDefault();
  81. });
  82. //Sign in
  83. $(".log-in").click(function(e){
  84. var e1 = document.querySelector(".log-in"),
  85. e2 = document.querySelector(".login-modal");
  86. cta(e1, e2, {relativeToWindow: true}, function () {
  87. $('.login-modal').modal("show");
  88. });
  89. e.preventDefault();
  90. });
  91. //Logout
  92. $(".logout").click(function(e){
  93. var el1 = document.querySelector(".logout"),
  94. el2 = document.querySelector(".logout-modal");
  95. cta(el1, el2, {relativeToWindow: true}, function () {
  96. $('.logout-modal').modal("show");
  97. });
  98. e.preventDefault();
  99. });
  100. //Members Sidebar
  101. $(".show-members").click(function(e){
  102. var e_s1 = document.querySelector(".show-members"),
  103. e_s2 = document.querySelector("#members-sidebar");
  104. cta(e_s1, e_s2, {relativeToWindow: true}, function () {
  105. $('#members-sidebar').addClass('members-sidebar-open');
  106. });
  107. e.preventDefault();
  108. });
  109. $('.close-members-sidebar').click(function(){
  110. $('#members-sidebar').removeClass('members-sidebar-open');
  111. });
  112. //Fullscreen mode
  113. function toggleFullScreen() {
  114. if (!document.fullscreenElement && // alternative standard method
  115. !document.mozFullScreenElement && !document.webkitFullscreenElement && !document.msFullscreenElement ) { // current working methods
  116. if (document.documentElement.requestFullscreen) {
  117. document.documentElement.requestFullscreen();
  118. } else if (document.documentElement.msRequestFullscreen) {
  119. document.documentElement.msRequestFullscreen();
  120. } else if (document.documentElement.mozRequestFullScreen) {
  121. document.documentElement.mozRequestFullScreen();
  122. } else if (document.documentElement.webkitRequestFullscreen) {
  123. document.documentElement.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT);
  124. }
  125. } else {
  126. if (document.exitFullscreen) {
  127. document.exitFullscreen();
  128. } else if (document.msExitFullscreen) {
  129. document.msExitFullscreen();
  130. } else if (document.mozCancelFullScreen) {
  131. document.mozCancelFullScreen();
  132. } else if (document.webkitExitFullscreen) {
  133. document.webkitExitFullscreen();
  134. }
  135. }
  136. }
  137. $('.fullscreen').click(function(e){
  138. toggleFullScreen();
  139. $('.fullscreen i').toggleClass("mdi-fullscreen mdi-fullscreen-exit");
  140. e.preventDefault();
  141. });
  142. // Full height of content
  143. //$('#content').css("height", $(window).height() - 56 + "px" );
  144. //$("div").find(".iframe").css("height", $(window).height() - 56 + "px" );
  145. //Fixed gn-menu
  146. $('.fix-nav').click(function(e){
  147. if($(window).width() > 422) {
  148. if($(this).hasClass("selected")){
  149. $('.gn-menu-wrapper').removeClass("gn-open-fixed");
  150. $('.gn-menu-wrapper .fix-nav i').removeClass("mdi-pin-off").addClass("mdi-pin");
  151. $('.gn-menu-wrapper .fix-nav').removeClass("selected");
  152. $('body').removeClass("mini-nav");
  153. if (localStorageSupport) {
  154. localStorage.setItem("fixNav",'off');
  155. }
  156. } else{
  157. $('.gn-menu-wrapper').addClass("gn-open-fixed");
  158. $('.gn-menu-wrapper .fix-nav i').removeClass("mdi-pin").addClass("mdi-pin-off");
  159. $('.gn-menu-wrapper .fix-nav').addClass("selected");
  160. $('body').addClass("mini-nav");
  161. if (localStorageSupport) {
  162. localStorage.setItem("fixNav",'on');
  163. }
  164. }
  165. }
  166. e.preventDefault();
  167. });
  168. $(window).resize(function () {
  169. if($(window).width() <= 422) {
  170. mobileMenuWidth();
  171. $('.gn-menu-wrapper').removeClass("gn-open-fixed");
  172. $('body').removeClass("mini-nav");
  173. if (localStorageSupport) {
  174. localStorage.setItem("fixNav",'off');
  175. }
  176. }
  177. else{
  178. $(".gn-menu-main ul.gn-menu").css("width", 270 + "px");
  179. if($(".fix-nav").hasClass("selected")){
  180. $('.gn-menu-wrapper').addClass("gn-open-fixed");
  181. $('body').addClass("mini-nav");
  182. if (localStorageSupport) {
  183. localStorage.setItem("fixNav",'on');
  184. }
  185. }
  186. }
  187. });
  188. if($(window).width() > 422) {
  189. if (localStorageSupport) {
  190. var fixNav = localStorage.getItem("fixNav");
  191. if (fixNav == 'on') {
  192. $('.gn-menu-wrapper').addClass("gn-open-fixed");
  193. $('.gn-menu-wrapper .fix-nav i').removeClass("mdi-pin").addClass("mdi-pin-off");
  194. $('.gn-menu-wrapper .fix-nav').addClass("selected");
  195. $('body').addClass("mini-nav");
  196. }
  197. if (fixNav == 'off') {
  198. $('.gn-menu-wrapper').removeClass("gn-open-fixed");
  199. $('.gn-menu-wrapper .fix-nav i').removeClass("mdi-pin-off").addClass("mdi-pin");
  200. $('.gn-menu-wrapper .fix-nav').removeClass("selected");
  201. $('body').removeClass("mini-nav");
  202. }
  203. }
  204. }
  205. });
  206. // check if browser support HTML5 local storage
  207. function localStorageSupport() {
  208. return (('localStorage' in window) && window['localStorage'] !== null)
  209. }