Path: blob/master/web-gui/buildyourownbotnet/assets/js/neon-api.js
1292 views
/*1Resuable Functions with Neon Theme23------45Theme by: Laborator - www.laborator.co67Developed by: Arlind Nushi8Designed by: Art Ramadani9*/1011var public_vars = public_vars || {};121314// ! Sidebar Menu Options15jQuery.extend(public_vars, {16sidebarCollapseClass: 'sidebar-collapsed',17sidebarOnTransitionClass: 'sidebar-is-busy',18sidebarOnHideTransitionClass: 'sidebar-is-collapsing',19sidebarOnShowTransitionClass: 'sidebar-is-showing',20sidebarTransitionTime: 700, // ms21isRightSidebar: false22});2324function show_sidebar_menu(with_animation)25{26if(isxs())27return;2829if( ! with_animation)30{31public_vars.$pageContainer.removeClass(public_vars.sidebarCollapseClass);32}33else34{35if(public_vars.$mainMenu.data('is-busy') || ! public_vars.$pageContainer.hasClass(public_vars.sidebarCollapseClass))36return;3738// Check39public_vars.$pageContainer.removeClass(public_vars.sidebarCollapseClass);4041var duration = public_vars.sidebarTransitionTime,42expanded_width = public_vars.$sidebarMenu.width(),43$sidebar_inner = public_vars.$sidebarMenu.find('.sidebar-menu-inner'),44$span_elements = public_vars.$mainMenu.find('li a span'),45$submenus = public_vars.$mainMenu.find('.has-sub > ul'),46$search_input = public_vars.$mainMenu.find('#search .search-input'),47$search_button = public_vars.$mainMenu.find('#search button'),48$logo_env = public_vars.$sidebarMenu.find('.logo-env'),49$collapse_icon = $logo_env.find('.sidebar-collapse'),50$logo = $logo_env.find('.logo'),51$sidebar_ulink = public_vars.$sidebarUser.find('span, strong'),5253logo_env_padding = parseInt($logo_env.css('padding'), 10);5455// Check56public_vars.$pageContainer.addClass(public_vars.sidebarCollapseClass);5758public_vars.$sidebarMenu.add( $sidebar_inner ).transit({width: expanded_width}, public_vars.sidebarTransitionTime/2);5960// Showing Class61setTimeout(function(){ public_vars.$pageContainer.addClass(public_vars.sidebarOnShowTransitionClass); }, 1);6263// Start animation64public_vars.$mainMenu.data('is-busy', true);6566public_vars.$pageContainer.addClass(public_vars.sidebarOnTransitionClass);6768$logo_env.transit({padding: logo_env_padding}, public_vars.sidebarTransitionTime);6970// Second Phase71setTimeout(function()72{73$logo.css({width: 'auto', height: 'auto'});7475TweenMax.set($logo, {css: {scaleY: 0}});7677TweenMax.to($logo, (public_vars.sidebarTransitionTime/2) / 1100, {css: {scaleY: 1}});7879// Third Phase80setTimeout(function(){8182public_vars.$pageContainer.removeClass(public_vars.sidebarCollapseClass);8384$submenus.hide().filter('.visible').slideDown('normal', function()85{86$submenus.attr('style', '');87});8889public_vars.$pageContainer.removeClass(public_vars.sidebarOnShowTransitionClass);9091// Last Phase92setTimeout(function()93{94// Reset Vars95public_vars.$pageContainer96.add(public_vars.$sidebarMenu)97.add($sidebar_inner)98.add($logo_env)99.add($logo)100.add($span_elements)101.add($submenus)102.attr('style', '');103104public_vars.$pageContainer.removeClass(public_vars.sidebarOnTransitionClass);105106public_vars.$mainMenu.data('is-busy', false); // Transition End107108}, public_vars.sidebarTransitionTime);109110111}, public_vars.sidebarTransitionTime/2);112113}, public_vars.sidebarTransitionTime/2);114}115}116117function hide_sidebar_menu(with_animation)118{119if(isxs())120return;121122if( ! with_animation)123{124public_vars.$pageContainer.addClass(public_vars.sidebarCollapseClass);125public_vars.$mainMenu.find('.has-sub > ul').attr('style', '');126}127else128{129if(public_vars.$mainMenu.data('is-busy') || public_vars.$pageContainer.hasClass(public_vars.sidebarCollapseClass))130return;131132// Check133public_vars.$pageContainer.addClass(public_vars.sidebarCollapseClass);134135var duration = public_vars.sidebarTransitionTime,136collapsed_width = public_vars.$sidebarMenu.width(),137$sidebar_inner = public_vars.$sidebarMenu.find('.sidebar-menu-inner'),138$span_elements = public_vars.$mainMenu.find('li a span'),139$user_link = public_vars.$sidebarMenu.find('.user-link *').not('img'),140$submenus = public_vars.$mainMenu.find('.has-sub > ul'),141$search_input = public_vars.$mainMenu.find('#search .search-input'),142$search_button = public_vars.$mainMenu.find('#search button'),143$logo_env = public_vars.$sidebarMenu.find('.logo-env'),144$collapse_icon = $logo_env.find('.sidebar-collapse'),145$logo = $logo_env.find('.logo'),146$sidebar_ulink = public_vars.$sidebarUser.find('span, strong'),147148logo_env_padding = parseInt($logo_env.css('padding'), 10);149150// Return to normal state151public_vars.$pageContainer.removeClass(public_vars.sidebarCollapseClass);152153// Start animation (1)154public_vars.$mainMenu.data('is-busy', true);155156157$logo.transit({scale: [1, 0]}, duration / 5, '', function()158{159$logo.hide();160public_vars.$sidebarMenu.transit({width: collapsed_width});161162if(public_vars.$sidebarMenu.hasClass('fixed'))163{164$sidebar_inner.transit({width: collapsed_width});165}166167$span_elements.hide();168$user_link.hide();169});170171// Add Classes & Hide Span Elements172public_vars.$pageContainer.addClass(public_vars.sidebarOnTransitionClass);173setTimeout(function(){ public_vars.$pageContainer.addClass(public_vars.sidebarOnHideTransitionClass); }, 1);174175TweenMax.to($submenus, public_vars.sidebarTransitionTime / 1100, {css: {height: 0}});176177$logo.transit({scale: [1,0], perspective: 300}, public_vars.sidebarTransitionTime/2);178$logo_env.transit({padding: logo_env_padding}, public_vars.sidebarTransitionTime);179180setTimeout(function()181{182// In the end do some stuff183public_vars.$pageContainer184.add(public_vars.$sidebarMenu)185.add($sidebar_inner)186.add($search_input)187.add($search_button)188.add($user_link)189.add($logo_env)190.add($logo)191.add($span_elements)192.add($collapse_icon)193.add($submenus)194.add($sidebar_ulink)195.add(public_vars.$mainMenu)196.attr('style', '');197198public_vars.$pageContainer.addClass(public_vars.sidebarCollapseClass);199200public_vars.$mainMenu.data('is-busy', false);201public_vars.$pageContainer.removeClass(public_vars.sidebarOnTransitionClass).removeClass(public_vars.sidebarOnHideTransitionClass);202203$collapse_icon.css('style', '');204205}, public_vars.sidebarTransitionTime);206}207}208209function toggle_sidebar_menu(with_animation)210{211var open = public_vars.$pageContainer.hasClass(public_vars.sidebarCollapseClass);212213if(open)214{215show_sidebar_menu(with_animation);216ps_init();217}218else219{220hide_sidebar_menu(with_animation);221ps_destroy();222}223}224225226// Added on v1.5227function rtl() // checks whether the content is in RTL mode228{229if(typeof window.isRTL == 'boolean')230return window.isRTL;231232window.isRTL = jQuery("html").get(0).dir == 'rtl' ? true : false;233234return window.isRTL;235}236237// Right to left Coeficient238function rtlc()239{240return rtl() ? -1 : 1;241}242243244// Perfect scroll bar functions by Arlind Nushi245function ps_update(destroy_init)246{247if(isxs())248return;249250if(jQuery.isFunction(jQuery.fn.perfectScrollbar))251{252if(public_vars.$sidebarMenu.hasClass('collapsed'))253{254return;255}256257public_vars.$sidebarMenu.find('.sidebar-menu-inner').perfectScrollbar('update');258259if(destroy_init)260{261ps_destroy();262ps_init();263}264}265}266267268function ps_init()269{270if(isxs())271return;272273if(jQuery.isFunction(jQuery.fn.perfectScrollbar))274{275if(public_vars.$pageContainer.hasClass(public_vars.sidebarCollapseClass) || ! public_vars.$sidebarMenu.hasClass('fixed'))276{277return;278}279280public_vars.$sidebarMenu.find('.sidebar-menu-inner').perfectScrollbar({281wheelSpeed: 1,282wheelPropagation: public_vars.wheelPropagation283});284}285}286287function ps_destroy()288{289if(jQuery.isFunction(jQuery.fn.perfectScrollbar))290{291public_vars.$sidebarMenu.find('.sidebar-menu-inner').perfectScrollbar('destroy');292}293}294295