3 * INSPINIA - Responsive Admin Theme
\r
8 $(document).ready(function () {
\r
11 // Add body-small class if window less than 768px
\r
12 if ($(this).width() < 769) {
\r
13 $('body').addClass('body-small')
\r
15 $('body').removeClass('body-small')
\r
19 $('#side-menu').metisMenu();
\r
21 // Collapse ibox function
\r
22 $('.collapse-link').on('click', function () {
\r
23 var ibox = $(this).closest('div.ibox');
\r
24 var button = $(this).find('i');
\r
25 var content = ibox.children('.ibox-content');
\r
26 content.slideToggle(200);
\r
27 button.toggleClass('fa-chevron-up').toggleClass('fa-chevron-down');
\r
28 ibox.toggleClass('').toggleClass('border-bottom');
\r
29 setTimeout(function () {
\r
31 ibox.find('[id^=map-]').resize();
\r
35 // Close ibox function
\r
36 $('.close-link').on('click', function () {
\r
37 var content = $(this).closest('div.ibox');
\r
41 // Fullscreen ibox function
\r
42 $('.fullscreen-link').on('click', function () {
\r
43 var ibox = $(this).closest('div.ibox');
\r
44 var button = $(this).find('i');
\r
45 $('body').toggleClass('fullscreen-ibox-mode');
\r
46 button.toggleClass('fa-expand').toggleClass('fa-compress');
\r
47 ibox.toggleClass('fullscreen');
\r
48 setTimeout(function () {
\r
49 $(window).trigger('resize');
\r
53 // Close menu in canvas mode
\r
54 $('.close-canvas-menu').on('click', function () {
\r
55 $("body").toggleClass("mini-navbar");
\r
59 // Run menu of canvas
\r
60 $('body.canvas-menu .sidebar-collapse').slimScroll({
\r
65 // Open close right sidebar
\r
66 $('.right-sidebar-toggle').on('click', function () {
\r
67 $('#right-sidebar').toggleClass('sidebar-open');
\r
70 // Initialize slimscroll for right sidebar
\r
71 $('.sidebar-container').slimScroll({
\r
77 // Open close small chat
\r
78 $('.open-small-chat').on('click', function () {
\r
79 $(this).children().toggleClass('fa-comments').toggleClass('fa-remove');
\r
80 $('.small-chat-box').toggleClass('active');
\r
83 // Initialize slimscroll for small chat
\r
84 $('.small-chat-box .content').slimScroll({
\r
89 // Small todo handler
\r
90 $('.check-link').on('click', function () {
\r
91 var button = $(this).find('i');
\r
92 var label = $(this).next('span');
\r
93 button.toggleClass('fa-check-square').toggleClass('fa-square-o');
\r
94 label.toggleClass('todo-completed');
\r
98 // Append config box / Only for demo purpose
\r
99 // Uncomment on server mode to enable XHR calls
\r
100 //$.get("skin-config.html", function (data) {
\r
101 // if (!$('body').hasClass('no-skin-config'))
\r
102 // $('body').append(data);
\r
106 $('.navbar-minimalize').on('click', function (event) {
\r
107 event.preventDefault();
\r
108 $("body").toggleClass("mini-navbar");
\r
114 $('.tooltip-demo').tooltip({
\r
115 selector: "[data-toggle=tooltip]",
\r
120 // Full height of sidebar
\r
121 function fix_height() {
\r
122 var heightWithoutNavbar = $("body > #wrapper").height() - 61;
\r
123 $(".sidebar-panel").css("min-height", heightWithoutNavbar + "px");
\r
125 var navbarheight = $('nav.navbar-default').height();
\r
126 var wrapperHeight = $('#page-wrapper').height();
\r
128 if (navbarheight > wrapperHeight) {
\r
129 $('#page-wrapper').css("min-height", navbarheight + "px");
\r
132 if (navbarheight < wrapperHeight) {
\r
133 $('#page-wrapper').css("min-height", $(window).height() + "px");
\r
136 if ($('body').hasClass('fixed-nav')) {
\r
137 if (navbarheight > wrapperHeight) {
\r
138 $('#page-wrapper').css("min-height", navbarheight + "px");
\r
140 $('#page-wrapper').css("min-height", $(window).height() - 60 + "px");
\r
149 $(window).bind("load", function () {
\r
150 if ($("body").hasClass('fixed-sidebar')) {
\r
151 $('.sidebar-collapse').slimScroll({
\r
158 // Move right sidebar top after scroll
\r
159 $(window).scroll(function () {
\r
160 if ($(window).scrollTop() > 0 && !$('body').hasClass('fixed-nav')) {
\r
161 $('#right-sidebar').addClass('sidebar-top');
\r
163 $('#right-sidebar').removeClass('sidebar-top');
\r
167 $(window).bind("load resize scroll", function () {
\r
168 if (!$("body").hasClass('body-small')) {
\r
173 $("[data-toggle=popover]")
\r
176 // Add slimscroll to element
\r
177 $('.full-height-scroll').slimscroll({
\r
183 // Minimalize menu when screen is less than 768px
\r
184 $(window).bind("resize", function () {
\r
185 if ($(this).width() < 769) {
\r
186 $('body').addClass('body-small')
\r
188 $('body').removeClass('body-small')
\r
192 // Local Storage functions
\r
193 // Set proper body class and plugins based on user configuration
\r
194 $(document).ready(function () {
\r
195 if (localStorageSupport()) {
\r
197 var collapse = localStorage.getItem("collapse_menu");
\r
198 var fixedsidebar = localStorage.getItem("fixedsidebar");
\r
199 var fixednavbar = localStorage.getItem("fixednavbar");
\r
200 var boxedlayout = localStorage.getItem("boxedlayout");
\r
201 var fixedfooter = localStorage.getItem("fixedfooter");
\r
203 var body = $('body');
\r
205 if (fixedsidebar == 'on') {
\r
206 body.addClass('fixed-sidebar');
\r
207 $('.sidebar-collapse').slimScroll({
\r
213 if (collapse == 'on') {
\r
214 if (body.hasClass('fixed-sidebar')) {
\r
215 if (!body.hasClass('body-small')) {
\r
216 body.addClass('mini-navbar');
\r
219 if (!body.hasClass('body-small')) {
\r
220 body.addClass('mini-navbar');
\r
226 if (fixednavbar == 'on') {
\r
227 $(".navbar-static-top").removeClass('navbar-static-top').addClass('navbar-fixed-top');
\r
228 body.addClass('fixed-nav');
\r
231 if (boxedlayout == 'on') {
\r
232 body.addClass('boxed-layout');
\r
235 if (fixedfooter == 'on') {
\r
236 $(".footer").addClass('fixed');
\r
241 // check if browser support HTML5 local storage
\r
242 function localStorageSupport() {
\r
243 return (('localStorage' in window) && window['localStorage'] !== null)
\r
246 // For demo purpose - animation css script
\r
247 function animationHover(element, animation) {
\r
248 element = $(element);
\r
251 element.addClass('animated ' + animation);
\r
254 //wait for animation to finish before removing classes
\r
255 window.setTimeout(function () {
\r
256 element.removeClass('animated ' + animation);
\r
261 function SmoothlyMenu() {
\r
262 if (!$('body').hasClass('mini-navbar') || $('body').hasClass('body-small')) {
\r
263 // Hide menu in order to smoothly turn on when maximize menu
\r
264 $('#side-menu').hide();
\r
265 // For smoothly turn on menu
\r
268 $('#side-menu').fadeIn(400);
\r
270 } else if ($('body').hasClass('fixed-sidebar')) {
\r
271 $('#side-menu').hide();
\r
274 $('#side-menu').fadeIn(400);
\r
277 // Remove all inline style from jquery fadeIn function to reset menu state
\r
278 $('#side-menu').removeAttr('style');
\r
283 function WinMove() {
\r
284 var element = "[class*=col]";
\r
285 var handle = ".ibox-title";
\r
286 var connect = "[class*=col]";
\r
287 $(element).sortable(
\r
290 connectWith: connect,
\r
291 tolerance: 'pointer',
\r
292 forcePlaceholderSize: true,
\r
295 .disableSelection();
\r