mirror of
				https://github.com/telekom-security/tpotce.git
				synced 2025-11-04 06:22:54 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			83 lines
		
	
	
	
		
			2 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			83 lines
		
	
	
	
		
			2 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
// generic layout specific responsive stuff goes here
 | 
						|
 | 
						|
function openFlyout() {
 | 
						|
  $('html').addClass('flyout-is-active');
 | 
						|
  $('#wrapper2').on('click', function(e){
 | 
						|
    e.preventDefault();
 | 
						|
    e.stopPropagation();
 | 
						|
    closeFlyout();
 | 
						|
  });
 | 
						|
}
 | 
						|
 | 
						|
function closeFlyout() {
 | 
						|
  $('html').removeClass('flyout-is-active');
 | 
						|
  $('#wrapper2').off('click');
 | 
						|
}
 | 
						|
 | 
						|
 | 
						|
function isMobile() {
 | 
						|
  return $('.js-flyout-menu-toggle-button').is(":visible");
 | 
						|
}
 | 
						|
 | 
						|
function setupFlyout() {
 | 
						|
  var mobileInit = false,
 | 
						|
    desktopInit = false;
 | 
						|
 | 
						|
  /* click handler for mobile menu toggle */
 | 
						|
  $('.js-flyout-menu-toggle-button').on('click', function(e) {
 | 
						|
    e.preventDefault();
 | 
						|
    e.stopPropagation();
 | 
						|
    if($('html').hasClass('flyout-is-active')) {
 | 
						|
      closeFlyout();
 | 
						|
    } else {
 | 
						|
      openFlyout();
 | 
						|
    }
 | 
						|
  });
 | 
						|
 | 
						|
  /* bind resize handler */
 | 
						|
  $(window).resize(function() {
 | 
						|
    initMenu();
 | 
						|
  })
 | 
						|
 | 
						|
  /* menu init function for dom detaching and appending on mobile / desktop view */
 | 
						|
  function initMenu() {
 | 
						|
 | 
						|
    var _initMobileMenu = function() {
 | 
						|
      /* only init mobile menu, if it hasn't been done yet */
 | 
						|
      if(!mobileInit) {
 | 
						|
 | 
						|
        $('#main-menu > ul').detach().appendTo('.js-project-menu');
 | 
						|
        $('#top-menu > ul').detach().appendTo('.js-general-menu');
 | 
						|
        $('#sidebar > *').detach().appendTo('.js-sidebar');
 | 
						|
        $('#account > ul').detach().appendTo('.js-profile-menu');
 | 
						|
 | 
						|
        mobileInit = true;
 | 
						|
        desktopInit = false;
 | 
						|
      }
 | 
						|
    }
 | 
						|
 | 
						|
    var _initDesktopMenu = function() {
 | 
						|
      if(!desktopInit) {
 | 
						|
 | 
						|
        $('.js-project-menu > ul').detach().appendTo('#main-menu');
 | 
						|
        $('.js-general-menu > ul').detach().appendTo('#top-menu');
 | 
						|
        $('.js-sidebar > *').detach().appendTo('#sidebar');
 | 
						|
        $('.js-profile-menu > ul').detach().appendTo('#account');
 | 
						|
 | 
						|
        desktopInit = true;
 | 
						|
        mobileInit = false;
 | 
						|
      }
 | 
						|
    }
 | 
						|
 | 
						|
    if(isMobile()) {
 | 
						|
      _initMobileMenu();
 | 
						|
    } else {
 | 
						|
      _initDesktopMenu();
 | 
						|
    }
 | 
						|
  }
 | 
						|
 | 
						|
  // init menu on page load
 | 
						|
  initMenu();
 | 
						|
}
 | 
						|
 | 
						|
$(document).ready(setupFlyout);
 |